public class MBeanInfo extends Object implements Cloneable, Serializable, DescriptorRead
介绍了管理接口通过MBean暴露;即,属性和操作,可用于管理操作的集合。这个类的实例是不可变的。子类可以是可变的但这是不推荐的。
通常对于任何给定的MBean的MBeanInfo
不在,MBean寿命变化。动态MBean可以改变他们的MBeanInfo
在这种情况下,建议他们发出Notification
与type的"jmx.mbean.info.changed"
和userData即新MBeanInfo
。这不是必需的,但提供的MBean客户发现改变传统方式。看在MBeanInfo
Descriptor
的immutableInfo和infoTimeout领域。
其getMBeanInfo()
法确定一个动态MBean的MBeanInfo
内容。这包括开放MBean模型MBean,即动态MBean类型。
通过MBean服务器确定如下是标准MBean的MBeanInfo
内容:
getClassName()
返回MBean对象的java类的名称;getConstructors()
返回对象中的所有公共构造函数列表;getAttributes()
返回所有属性从一个getName
,isName
MBean接口存在推导出存在的列表,或setName
方法符合标准MBean的公约;getOperations()
返回在MBean接口,不代表所有的属性方法列表;getNotifications()
返回一个空数组,如果不实施NotificationBroadcaster
MBean接口,否则它叫NotificationBroadcaster.getNotificationInfo()
结果;getDescriptor()
返回一个描述符包含在MBean接口描述符附注的内容(见@DescriptorKey
)。描述返回getDescription()
和包含的属性和操作的描述是不指定。
其余细节的MBeanInfo
一标准MBean都没有指定。这包括任何包含的构造函数的描述,和通知;参数的名称到构造函数和操作;和构造函数参数的描述。
Constructor and Description |
---|
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications)
构建了一个
MBeanInfo 。
|
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor)
构建了一个
MBeanInfo 。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
返回此实例的浅克隆。
|
boolean |
equals(Object o)
比较这mbeaninfo到另一个。
|
MBeanAttributeInfo[] |
getAttributes()
返回用于管理的属性列表。
|
String |
getClassName()
返回的MBean所描述的这
MBeanInfo java类的名称。
|
MBeanConstructorInfo[] |
getConstructors()
返回的MBean的公共构造函数列表。
|
String |
getDescription()
返回一个人类的MBean可读的描述。
|
Descriptor |
getDescriptor()
得到这个mbeaninfo描述符。
|
MBeanNotificationInfo[] |
getNotifications()
返回由MBean发出的通知列表。
|
MBeanOperationInfo[] |
getOperations()
返回的MBean操作列表。
|
int |
hashCode()
返回一个对象的哈希代码值。
|
String |
toString()
返回对象的字符串表示形式。
|
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications) throws IllegalArgumentException
MBeanInfo
。
className
-对MBean笔下的这
MBeanInfo
java类的名称。这个值可以是任何形式的法律java类的名称。它不必是一个java类已知的MBean服务器或MBean的类加载器。如果这是一个java类已知的MBean的类装载器,建议但不要求该类的公共方法,包括那些将出现在标准MBean这mbeaninfo实现属性和操作。
description
-人类的MBean可读的描述(可选)。
attributes
-暴露的MBean属性列表。这可能是空的,与一零个长度数组相同的效果。
constructors
的MBean的公共构造函数列表。这可能是空的,与一零个长度数组相同的效果。
operations
的MBean操作列表。这可能是空的,与一零个长度数组相同的效果。
notifications
-发出通知列表。这可能是空的,与一零个长度数组相同的效果。
IllegalArgumentException
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor) throws IllegalArgumentException
MBeanInfo
。
className
-对MBean笔下的这
MBeanInfo
java类的名称。这个值可以是任何形式的法律java类的名称。它不必是一个java类已知的MBean服务器或MBean的类加载器。如果这是一个java类已知的MBean的类装载器,建议但不要求该类的公共方法,包括那些将出现在标准MBean这mbeaninfo实现属性和操作。
description
-人类的MBean可读的描述(可选)。
attributes
-暴露的MBean属性列表。这可能是空的,与一零个长度数组相同的效果。
constructors
的MBean的公共构造函数列表。这可能是空的,与一零个长度数组相同的效果。
operations
的MBean操作列表。这可能是空的,与一零个长度数组相同的效果。
notifications
-发出通知列表。这可能是空的,与一零个长度数组相同的效果。
descriptor
为MBean描述符。这可能是空的,这相当于一个空的描述符。
IllegalArgumentException
public Object clone()
返回此实例的浅克隆。克隆是通过简单地调用super.clone()获得,从而调用默认本地浅克隆机制的实施Object.clone()。没有更深的克隆任何内部场了。
由于这个类是不可变的,克隆方法主要是感兴趣的子类。
public String getClassName()
MBeanInfo
java类的名称。
public String getDescription()
public MBeanAttributeInfo[] getAttributes()
MBeanAttributeInfo
对象描述。返回的数组是内部数组的浅拷贝,这意味着它是一份内部数组引用的对象的
MBeanAttributeInfo
但每个引用的对象不会被复制
MBeanAttributeInfo
。
MBeanAttributeInfo
对象数组。
public MBeanOperationInfo[] getOperations()
MBeanOperationInfo
对象描述。返回的数组是内部数组的浅拷贝,这意味着它是一份内部数组引用的对象的
MBeanOperationInfo
但每个引用的对象不会被复制
MBeanOperationInfo
。
MBeanOperationInfo
对象数组。
public MBeanConstructorInfo[] getConstructors()
返回的MBean的公共构造函数列表。每个构造函数是由MBeanConstructorInfo
对象描述。
返回的数组是内部数组的浅拷贝,这意味着它是一份内部数组引用的对象的MBeanConstructorInfo
但每个引用的对象不会被复制MBeanConstructorInfo
。
返回的列表不一定是详尽的。那就是,MBean可能具有公共构造函数不在列表中。在这种情况下,MBean服务器可以构建使用构造函数的类MBean的另一个例子,尽管它不在此列。
MBeanConstructorInfo
对象数组。
public MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo
对象描述。返回的数组是内部数组的浅拷贝,这意味着它是一份内部数组引用的对象的
MBeanNotificationInfo
但每个引用的对象不会被复制
MBeanNotificationInfo
。
MBeanNotificationInfo
对象数组。
public Descriptor getDescriptor()
getDescriptor
接口
DescriptorRead
public String toString()
Object
toString
方法返回一个字符串,“以文本方式表示”这个对象。其结果应该是一个简洁,但翔实的代表性,是一个容易阅读的人。建议所有子类都重写此方法。
该方法返回一个类toString
Object
组成的类的对象是一个实例的名称字符串的符号` @
',和符号进制表示的对象的哈希码。换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
public boolean equals(Object o)
比较这mbeaninfo到另一个。两mbeaninfo对象相等当且仅当他们返回getClassName()
,相等的值getDescription()
,和getDescriptor()
,和阵列的getAttributes()
返回,getOperations()
,getConstructors()
两物体,和getNotifications()
两两相等。这里的“平等”是指Object.equals(Object)
,不认同。
如果两mbeaninfo对象返回相同的值,在他们的一个阵列,但以不同的顺序则是不平等的。
equals
方法重写,继承类
Object
o
-对象比较。
o
是mbeaninfo等于这一根据上述规则。
Object.hashCode()
,
HashMap
public int hashCode()
Object
HashMap
利益支持。
对hashCode
一般合同:
hashCode
方法总是返回相同的整数,没有提供信息用于equals
比较的对象被修改。这个整数不需要保持一致,从一个应用程序的一个执行到另一个执行相同的应用程序。equals(Object)
法两个对象是相等的,那么调用hashCode
方法每一个对象必须产生相同的整数结果。Object.equals(java.lang.Object)
法两个对象是不平等的,然后调用hashCode
方法每一个对象必须产生不同的整数结果。然而,程序员应该意识到,产生不同的整数结果的不平等的对象可能会提高哈希表的性能。尽合理的切实可行,由类Object
定义hashCode方法返回不同的对象不同的整数。(这通常是通过将该对象的内部地址转换成一个整数,但这不是实现实现技术的™java编程语言。要求)
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.