public class DescriptorSupport extends Object implements Descriptor
描述符由字段的集合组成。每个字段是字段名=值格式。字段名称是不区分大小写的,情况将被保存在字段值上。
所有字段名称和值都不是预定义的。可以通过任何程序定义和添加新字段。一些领域已经实施的一致性和支持预定义ModelMBeanInfo ModelMBeanAttributeInfo,ModelMBeanConstructorInfo,ModelMBeanNotificationInfo,modelmbeanoperationinfo ModelMBean类,。
这个班的serialVersionUID是-6292969195866300415L
。
Constructor and Description |
---|
DescriptorSupport()
描述符默认构造函数。
|
DescriptorSupport(DescriptorSupport inDescr)
以描述符为参数的描述符构造函数。
|
DescriptorSupport(int initNumFields)
广义的构造函数。
|
DescriptorSupport(String... fields)
构造函数以领域的字段名=值格式。
|
DescriptorSupport(String inStr)
一个以XML字符串的描述符构造函数。
|
DescriptorSupport(String[] fieldNames, Object[] fieldValues)
取字段名和字段值。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
返回一个新的描述符,该描述符是描述符的副本。
|
boolean |
equals(Object o)
将此描述符与给定对象进行比较。
|
String[] |
getFieldNames()
返回描述符中的所有字段名称。
|
String[] |
getFields()
返回包含在该描述符中的字段数组中的所有字段。
|
Object |
getFieldValue(String fieldName)
返回一个特定字段名的值,如果没有该名称的值,则为。
|
Object[] |
getFieldValues(String... fieldNames)
返回在描述符中的所有字段值作为一个对象数组。
|
int |
hashCode()
返回此描述符的哈希代码值。
|
boolean |
isValid()
如果所有字段都具有给定名称的合法值,则返回真值。
|
void |
removeField(String fieldName)
从描述符中移除字段。
|
void |
setField(String fieldName, Object fieldValue)
为特定字段名称设置值。
|
void |
setFields(String[] fieldNames, Object[] fieldValues)
将字段名称数组中的所有字段设置为字段值数组中的相同索引的新值。
|
String |
toString()
返回表示描述符的人类可读的字符串。
|
String |
toXMLString()
返回表示描述子的XML字符串。
|
public DescriptorSupport()
public DescriptorSupport(int initNumFields) throws MBeanException, RuntimeOperationsException
initNumFields
-存储描述符字段映射的初始容量。
RuntimeOperationsException
-(<= 0)
MBeanException
套分布式通信异常。
public DescriptorSupport(DescriptorSupport inDescr)
inDescr
的描述符被用来初始化构建描述符。如果它是空的或不包含描述符字段,将创建一个空描述符。
public DescriptorSupport(String inStr) throws MBeanException, RuntimeOperationsException, XMLParseException
一个以XML字符串的描述符构造函数。
对XML字符串的格式没有定义,但实施必须确保返回的字符串toXMLString()
在现有的描述符可以用来实例化一个等价描述使用此构造函数。
在这个实现中,所有字段值将被创建为字符串。如果字段值不是字符串,则程序员将不得不正确地重置或转换这些字段。
inStr
-一个XML格式的字符串用于填充此描述符。格式是没有定义的,但任何的实现必须确保字符串在现有的描述方法
toXMLString
返回可用于实例化一个等价描述实例化时使用此构造函数。
RuntimeOperationsException
如果传入参数的字符串可以是空的
XMLParseException
XML解析的问题在分析输入的字符串
MBeanException
套分布式通信异常。
public DescriptorSupport(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException
fieldNames
-字段名称的字符串数组。此数组中的任何元素都不能为空。
fieldValues
-相应字段对象的数组。数组的元素可以为空。的
fieldValue
必须有效的
fieldName
(如法
isValid
定义)
注:数组大小的参数应该匹配。如果两个数组都是空的,则创建一个空描述符。
RuntimeOperationsException
-非法值的字段名或字段值。数组的长度必须是相等的。如果描述符建设失败,任何原因,这个异常将被抛出。
public DescriptorSupport(String... fields)
fields
-每个元素包含一个字段的名称和值的字符串数组。如果这个数组是空的或空的,那么将执行默认的构造函数。空字符串或空字符串将被忽略。
所有字段值都应该是字符串。如果字段值不是字符串,则程序员将不得不正确地重置或转换这些字段。
注:每个字符串的形式应字段名=值。字段名称结束了第一=
特征;例如,如果字符串a=b=c
然后字段名称是a
及其价值是b=c
。
RuntimeOperationsException
-非法值的字段名或字段值。字段必须包含一个“=”。=值”、“字段名”和“值”是非法的。字段名不能为空。”字段名=“会造成值为空。如果描述符建设失败,任何原因,这个异常将被抛出。
public Object getFieldValue(String fieldName) throws RuntimeOperationsException
Descriptor
getFieldValue
接口
Descriptor
fieldName
的字段名称。
RuntimeOperationsException
如果字段名称是非法的。
public void setField(String fieldName, Object fieldValue) throws RuntimeOperationsException
Descriptor
为特定字段名称设置值。这将修改一个现有的字段或添加一个新字段。
字段值在它被设置之前将被验证。如果它无效,则将抛出一个异常。有效性的意义是依赖于描述符的实现。
setField
接口
Descriptor
fieldName
-要设置的字段名称。不能为空或空。
fieldValue
-被设置为字段名字段值。可以为空,如果这是一个字段的有效值。
RuntimeOperationsException
如果字段名或字段的值是非法的(包裹的例外是
IllegalArgumentException
);或者如果描述符是不变的(包裹的例外是
UnsupportedOperationException
)。
public String[] getFields()
Descriptor
getFields
接口
Descriptor
Descriptor.setFields(java.lang.String[], java.lang.Object[])
public String[] getFieldNames()
Descriptor
getFieldNames
接口
Descriptor
public Object[] getFieldValues(String... fieldNames)
Descriptor
fieldNames
字符串数组参数。
getFieldValues
接口
Descriptor
fieldNames
-字段的名称,该值应返回的字符串数组。如果数组是空的,那么将返回一个空数组。如果数组为空然后所有值将返回,如果参数是由
Descriptor.getFieldNames()
返回的数组。如果数组中的字段名不存在,包括它为空或空字符串的情况,则返回匹配数组元素返回的空值。
fieldNames
列表是空的,你会得到一个空数组。
public void setFields(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException
Descriptor
将字段名称数组中的所有字段设置为字段值数组中的相同索引的新值。数组大小必须匹配。
字段值在它被设置之前将被验证。如果它无效,则将抛出一个异常。如果数组是空的,那么没有更改将生效。
setFields
接口
Descriptor
fieldNames
-字段名称的字符串数组。数组和数组元素不能为空。
fieldValues
-相应字段对象的数组。数组不能为空。数组的元素可以为空。
RuntimeOperationsException
-如果变化没有以任何理由。包裹的例外是
IllegalArgumentException
如果
fieldNames
或
fieldValues
是无效的,或者如果数组是不同的长度,或如果有其中一个非法值。包裹的例外是
UnsupportedOperationException
如果描述符是不可变的,并能改变它的内容。
Descriptor.getFields()
public Object clone() throws RuntimeOperationsException
clone
接口
Descriptor
clone
方法重写,继承类
Object
RuntimeOperationsException
-非法值的字段名或字段值。如果描述符建设失败,任何原因,这个异常将被抛出。
Cloneable
public void removeField(String fieldName)
Descriptor
removeField
接口
Descriptor
fieldName
-场的字符串被删除。如果字段名称是非法的或未找到字段,则将不会引发异常。
public boolean equals(Object o)
Arrays.deepEquals
必须返回true。Object.equals(Object)
必须返回true。equals
接口
Descriptor
equals
方法重写,继承类
Object
o
-比较对象。
true
如果对象是相同的;
false
否则。
Object.hashCode()
,
HashMap
public int hashCode()
返回此描述符的哈希代码值。散列码被计算为描述符中的每个字段的哈希代码的总和。名称n
和价值v
字段的哈希代码n.toLowerCase().hashCode() ^ h
。这里h
是v
哈希代码,计算如下:
v
空然后h
0。v
是原始数组然后h
是使用适当的超载java.util.Arrays.hashCode
计算。v
是对象数组然后h
计算使用Arrays.deepHashCode
。h
是v.hashCode()
。hashCode
接口
Descriptor
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean isValid() throws RuntimeOperationsException
此实现不支持互操作的一个目录或查找服务。因此,符合规范,没有检查完成的“出口”领域。
否则此实现返回假:
isValid
接口
Descriptor
RuntimeOperationsException
如果有效性检查的任何原因而失败,这将引发异常。
public String toXMLString()
返回表示描述子的XML字符串。
格式是没有定义的,但执行必须确保该方法返回的字符串可以被用来建立一个等价描述实例化时使用构造函数DescriptorSupport(String inStr)
。
这是不是字符串对象都tostring()号召他们创造价值的领域。该值将被封闭在括号中。它不能保证你可以重建这些对象,除非他们已经专门成立了支持tostring()有意义的格式有一个匹配的构造函数接受一个同样格式的字符串。
如果描述符是空的,则返回下列字符串: <描述符> < /描述符> 描述符>
RuntimeOperationsException
-非法值的字段名或字段值。如果XML格式化的字符串结构失败,任何原因,这个异常将被抛出。
public String toString()
toString
方法重写,继承类
Object
RuntimeOperationsException
-非法值的字段名或字段值。如果描述符字符串失败,任何原因,这个异常将被抛出。
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.