JavaTM 2 Platform
Standard Ed. 5.0

javax.management
接口 Descriptor

所有超级接口:
Cloneable, Serializable
所有已知实现类:
DescriptorSupport

public interface Descriptor
extends Serializable, Cloneable

此接口表示为 JMX 元素设置的性能元数据 (behavioral metadata)。例如,描述符可以是 ModelMBeanInfo、ModelMBeanNotificationInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo 和 ModelMBeanParameterInfo 的一部分。

描述符由一个字段集合组成。每个字段的格式都是字段名=字段值。

所有字段名和字段值都不是预定义的。任何程序都可以定义和添加新字段。就 ModelMBean 来说,为了实现和支持的一致性,ModelMBeanInfo、ModelMBean*Info 和 odelMBean 类已经预定义了某些字段。

从以下版本开始:
1.5

方法摘要
 Object clone()
          返回作为 Descriptor 副本的新 Descriptor。
 String[] getFieldNames()
          返回该 descriptor 中的所有字段名。
 String[] getFields()
          以 string 数组的形式返回此 descriptor 中所包含的所有字段。
 Object getFieldValue(String fieldName)
          返回指定字段名的值。
 Object[] getFieldValues(String[] fieldNames)
          以 Object 数组的形式返回该 descriptor 中的所有字段值。
 boolean isValid()
          如果所有字段在给定其名称的情况下都有合法值,则返回 true。
 void removeField(String fieldName)
          从该 descriptor 中删除字段。
 void setField(String fieldName, Object fieldValue)
          设置特定字段名的值。
 void setFields(String[] fieldNames, Object[] fieldValues)
          将列表中所有字段设置为与 fieldValue 数组中值的索引相同的新值。
 

方法详细信息

getFieldValue

Object getFieldValue(String fieldName)
                     throws RuntimeOperationsException
返回指定字段名的值。

参数:
fieldName - 相关字段的名称;如果未找到,则返回 null。
返回:
字段值 Object。
抛出:
RuntimeOperationsException - 如果字段名的值非法。

setField

void setField(String fieldName,
              Object fieldValue)
              throws RuntimeOperationsException
设置特定字段名的值。 设置前将验证该字段值。如果该值无效,则将抛出一个异常。这将修改现有的字段或添加一个新字段。

参数:
fieldName - 要设置的字段的名称。不能为 null 或空。
fieldValue - 针对该字段名称所设置的字段值。可以为 null。
抛出:
RuntimeOperationsException - 如果字段名或字段值非法。

getFields

String[] getFields()
以 string 数组的形式返回此 descriptor 中所包含的所有字段。

返回:
各字段的 String 数组,字段格式为字段名=字段值。如果字段值不是一个 String,则对该值调用 toString() 方法并将返回值用作所返回数组中字段的值。不是 String 的对象值将括在圆括号中。如果该 descriptor 为空,则获得一个空数组。
另请参见:
setFields(java.lang.String[], java.lang.Object[])

getFieldNames

String[] getFieldNames()
返回该 descriptor 中的所有字段名。

返回:
字段名的 String 数组。如果该 descriptor 为空,则获得一个空数组。

getFieldValues

Object[] getFieldValues(String[] fieldNames)
以 Object 数组的形式返回该 descriptor 中的所有字段值。返回的值的顺序与 fieldNames String 数组参数的顺序相同。

参数:
fieldNames - 字段名称的 String 数组,应该返回这些字段的值。如果该数组为空,则将返回一个空数组。如果该数组为 'null',则将返回所有值。如果数组中的某个字段名称不存在,则为要返回的匹配数组元素返回 null。
返回:
字段值的 Object 数组。如果该 descriptor 为空,则获得一个空数组。

removeField

void removeField(String fieldName)
从该 descriptor 中删除字段。

参数:
fieldName - 要移除的字段的 String 名称。如果找不到该字段,则不抛出异常。

setFields

void setFields(String[] fieldNames,
               Object[] fieldValues)
               throws RuntimeOperationsException
将列表中所有字段设置为与 fieldValue 数组中值的索引相同的新值。数组大小必需匹配。设置前将验证该字段值。如果该值无效,则将抛出一个异常。如果数组为空,则所有更改都将无效。

参数:
fieldNames - 字段名称的 String 数组。该数组和数组元素不能为 null。
fieldValues - 相应字段值的 Object 数组。该数组不能为 null。此数组的元素可以为 null。
抛出:
RuntimeOperationsException - 如果 Names 或 Values 字段的值为非法值。这两个字段的值均不能为 null。数组长度必须相等。如果描述符构造由于任何原因而失败,都将抛出此异常。
另请参见:
getFields()

clone

Object clone()
             throws RuntimeOperationsException
返回作为 Descriptor 副本的新 Descriptor。

抛出:
RuntimeOperationsException - 如果 Names 或 Values 字段的值为非法值。如果描述符构造由于任何原因而失败,都将抛出此异常。

isValid

boolean isValid()
                throws RuntimeOperationsException
如果所有字段在给定其名称的情况下都有合法值,则返回 true。

返回:
如果值是合法的,则返回 true。
抛出:
RuntimeOperationsException - 如果验证检查由于任何原因而失败,都将抛出此异常。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策