所有类


javax.management.modelmbean
类 DescriptorSupport

java.lang.Object
  继承者 javax.management.modelmbean.DescriptorSupport
所有已实现的接口:
Serializable, Cloneable, Descriptor

public class DescriptorSupport
   
   
   
   
   
extends Object
implements Descriptor

此类表示 ModelMBean 元素的元数据集。描述符是 ModelMBeanInfo、ModelMBeanNotificationInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo 和 ModelMBeanParameterInfo 的一部分。

描述符由一个字段集合组成。每个字段都采用 fieldname=fieldvalue 格式。字段名称是不区分大小写的,在字段值上将保留大小写。

所有字段名称和值都不是预定义的。任何程序都可以定义和添加新字段。出于实现一致性考虑,某些字段已预定义,并受 ModelMBeanInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo、ModelMBeanNotificationInfo、ModelMBeanOperationInfo 和 ModelMBean 类的支持。

从以下版本开始:
1.5
另请参见:
序列化表格

构造方法摘要
DescriptorSupport()
          描述符默认的构造方法。
DescriptorSupport(DescriptorSupport inDescr)
          带有参数为 Descriptor 的描述符构造方法。
DescriptorSupport(int initNumFields)
          描述符构造方法。
DescriptorSupport(String inStr)
          Descriptor 构造方法带有一个 XML String。
DescriptorSupport(String[] fields)
          带有 fieldName=fieldValue 格式的字段的构造方法。
DescriptorSupport(String[] fieldNames, Object[] fieldValues)
          带有字段名称和字段值的构造方法。
 
方法摘要
 Objectclone()
          返回作为 Descriptor 副本的新 Descriptor。
 String[]getFieldNames()
          返回描述符中的所有字段名称。
 String[]getFields()
          返回描述符中的所有字段。
 ObjectgetFieldValue(String inFieldName)
          返回特定的 fieldname 值。
 Object[]getFieldValues(String[] fieldNames)
          以 Object 数组形式返回描述符中的所有字段值。
 booleanisValid()
          如果所有给定名称的字段都有合法值,则返回 true。
 voidremoveField(String fieldName)
          从描述符移除字段。
 voidsetField(String inFieldName, Object fieldValue)
          设置特定的 fieldname 的字符串值。
 voidsetFields(String[] fieldNames, Object[] fieldValues)
          将列表中所有 Field 设置为 fieldValue 数组中具有相同索引的新值。
 StringtoString()
          返回 表示描述符的可读字符串
 StringtoXMLString()
          返回表示描述符的 XML 字符串。
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

DescriptorSupport

public DescriptorSupport()
描述符默认的构造方法。默认的初始描述符大小为 20。此大小会根据需要而增加。
注意,创建的空描述符不是有效的描述符(isValid 方法返回 false)。


DescriptorSupport

public DescriptorSupport(int initNumFields)
                  throws MBeanException,
                         RuntimeOperationsException
描述符构造方法。将存储 descriptor 字段的 Map 的初始容量作为参数。容量将根据需要而增加。
注意,创建的空描述符不是有效的描述符(isValid 方法返回 false)。

参数:
initNumFields - 存储 descriptor 字段的 Map 的初始容量。
抛出:
RuntimeOperationsException - 如果 initNumField 的值是非法值 (<= 0)
MBeanException - 如果包装了一个分布式通信异常。

DescriptorSupport

public DescriptorSupport(DescriptorSupport inDescr)
带有参数为 Descriptor 的描述符构造方法。创建初始化为传入参数中的描述符的值的新描述符。

参数:
inDescr - 描述符,用于初始化所构造的描述符。如果它为 null 或不包含 descriptor 字段,则将创建一个空 Descriptor。

DescriptorSupport

public DescriptorSupport(String inStr)
                  throws MBeanException,
                         RuntimeOperationsException,
                         XMLParseException

Descriptor 构造方法带有一个 XML String。

XML 字符串的格式是未定义的,但实现必须确保,当使用此构造方法进行实例化时,现有描述符上的 toXMLString() 所返回的字符串能够用来实例化一个等效的描述符。

在此实现中,所有字段值都将以 String 形式创建。如果字段值不是 String 形式的,则程序员必须重置或正确转换这些字段。

参数:
inStr - 用于填充此 Descriptor 的 XML 格式的字符串。格式是未定义的,但任何实现必须确保,当使用此构造方法进行实例化时,现有描述符上的 toXMLString 方法所返回的字符串能够用于实例化一个等效的描述符。
抛出:
RuntimeOperationsException - 如果传递到参数中的 String inStr 为 null
XMLParseException - 如果解析输入 String 时发生 XML 解析问题
MBeanException - 如果包装了一个分布式通信异常。

DescriptorSupport

public DescriptorSupport(String[] fieldNames,
                         Object[] fieldValues)
                  throws RuntimeOperationsException
带有字段名称和字段值的构造方法。数组和数组元素不可能为 null。

参数:
fieldNames - 字段名称的 String 数组。此数组的所有元素均不能为 null。
fieldValues - 对应字段值的 Object 数组。此数组的元素可以为 null。fieldValue 必须对 fieldName 有效(正如在 isValid 方法中所定义的)。

注:参数的数组大小应是匹配的。如果两个数组均为 null 或空,则创建一个空描述符。

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

DescriptorSupport

public DescriptorSupport(String[] fields)
带有 fieldName=fieldValue 格式的字段的构造方法。

参数:
fields - 每个元素包含一个字段名称和字段值的 String 数组。如果此数组为 null 或空,则将执行默认的构造方法。忽略 null 字符串或空字符串。

所有字段值都应是 String。如果字段值不是 String,则程序员必须重置或正确转换这些字段。

注:每个字符串都应为 fieldName=fieldValue 形式。

抛出:
RuntimeOperationsException - 如果 Names 或 Values 字段的值为非法值。字段必须包含 "="。"=fieldValue"、"fieldName" 和 "fieldValue" 是非法的。FieldName 不可能为 null。"fieldName=" 将使值为 null。如果描述符构造由于任何原因而失败,都将抛出此异常。
方法详细信息

getFieldValue

public Object getFieldValue(String inFieldName)
                     throws RuntimeOperationsException
返回特定的 fieldname 值。

指定者:
接口 Descriptor 中的 getFieldValue
参数:
inFieldName - 相关的字段名称;如果未找到,则返回 null。
返回:
表示字段值的 Object
抛出:
RuntimeOperationsException - 如果 Names 字段的值为非法的(null 或空字符串)。

setField

public void setField(String inFieldName,
                     Object fieldValue)
              throws RuntimeOperationsException
设置特定的 fieldname 的字符串值。字段的值必须对字段有效(正如 isValid 方法中所定义的)。如果字段不存在,则将它添加到 Descriptor 的末尾。如果字段存在,则替换该值。

指定者:
接口 Descriptor 中的 setField
参数:
inFieldName - 要设置的字段名称。不能为 null 或空字符串。
fieldValue - 针对该字段名称所设置的字段值。可以为 null 或空字符串。
抛出:
RuntimeOperationsException - 如果 Names 字段的值为非法值。