- java.lang.Object
-
- javax.management.openmbean.CompositeDataInvocationHandler
-
- 实现的所有接口
-
InvocationHandler
public class CompositeDataInvocationHandler extends Object implements InvocationHandler
InvocationHandler将getter方法转发到CompositeData。 如果您的接口只包含getter方法(例如String getName()或boolean isActive()),则可以将此类与Proxy类结合使用,以生成接口的实现,其中每个getter返回CompositeData相应项的CompositeData。例如,假设您有一个这样的界面:
和public interface NamedNumber { public int getNumber(); public String getName(); }CompositeData构造的CompositeData:
然后你可以构造一个实现CompositeData cd = newCompositeDataSupport( someCompositeType, new String[] {"number", "name"}, new Object[] {5, "five"} );NamedNumber的对象,并由对象cd支持,如下所示:
拨打InvocationHandler handler = new CompositeDataInvocationHandler(cd); NamedNumber nn = (NamedNumber) Proxy.newProxyInstance(NamedNumber.class.getClassLoader(), new Class[] {NamedNumber.class}, handler);nn.getNumber()将返回5 。如果getter定义的属性的第一个字母是大写,则此处理程序将首先查找以
CompositeData开头的CompositeData的项目,如果找不到,则查找以相应的小写字母开头的项目或代码点。 对于名为getNumber()的getter,处理程序将首先查找名为Number的项目,然后查找number。 如果getter被称为getnumber(),那么该项必须被称为number。如果给予
invoke的方法boolean equals(Object)继承自Object的方法boolean equals(Object),则当且仅当参数是Proxy其InvocationHandler也是CompositeDataInvocationHandler且其支持CompositeData与此对象相等(不一定相同))时,它将返回true。 如果给予invoke的方法int hashCode()继承自Object的方法int hashCode(),则它将返回与equals此定义一致的值:如果两个对象根据equals相等,则它们将具有相同的hashCode。- 从以下版本开始:
- 1.6
-
-
构造方法摘要
构造方法 构造器 描述 CompositeDataInvocationHandler(CompositeData compositeData)构造由给定CompositeData支持的处理程序。
-
-
-
构造方法详细信息
-
CompositeDataInvocationHandler
public CompositeDataInvocationHandler(CompositeData compositeData)
构造由给定
CompositeData支持的处理程序。- 参数
-
compositeData- 将为吸气剂提供信息的CompositeData。 - 异常
-
IllegalArgumentException- 如果compositeData为空。
-
-
方法详细信息
-
getCompositeData
public CompositeData getCompositeData()
返回提供给构造函数的CompositeData。- 结果
-
这个处理程序支持的
CompositeData。 这永远不会为空。
-
-