- 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 = new
CompositeDataSupport
( 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
。 这永远不会为空。
-
-