|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.management.modelmbean.DescriptorSupport
public class DescriptorSupport
此類別表示 ModelMBean 元素的元資料集。描述符是 ModelMBeanInfo、ModelMBeanNotificationInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo 和 ModelMBeanParameterInfo 的一部分。
描述符由欄位集合組成。每個欄位都採用 fieldname=fieldvalue 格式。欄位名稱是不區分大小寫的,在欄位值上將保留大小寫。
所有欄位名稱和值都不是預定義的。任何程序都可以定義和添加新欄位。出於實作一致性考慮,某些欄位已預定義,並受 ModelMBeanInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo、ModelMBeanNotificationInfo、ModelMBeanOperationInfo 和 ModelMBean 類別的支持。
此類別的 serialVersionUID 為 -6292969195866300415L
。
建構子摘要 | |
---|---|
DescriptorSupport()
描述符預設的建構子。 |
|
DescriptorSupport(DescriptorSupport inDescr)
採用 Descriptor 作為參數的描述符建構子。 |
|
DescriptorSupport(int initNumFields)
描述符建構子。 |
|
DescriptorSupport(String... fields)
帶有 fieldName=fieldValue 格式的欄位的建構子。 |
|
DescriptorSupport(String inStr)
Descriptor 建構子帶有一個 XML String。 |
|
DescriptorSupport(String[] fieldNames,
Object[] fieldValues)
帶有欄位名稱和欄位值的建構子。 |
方法摘要 | |
---|---|
Object |
clone()
返回作為 Descriptor 副本的新 Descriptor。 |
boolean |
equals(Object o)
將此描述符與給定物件比較。 |
String[] |
getFieldNames()
返回描述符中的所有欄位名。 |
String[] |
getFields()
以 string 陣列的形式返回此 descriptor 中所包含的所有欄位。 |
Object |
getFieldValue(String fieldName)
返回指定欄位名的值,如果該名稱不存在任何值,則返回 null。 |
Object[] |
getFieldValues(String... fieldNames)
以 Object 陣列的形式返回該 descriptor 中的所有欄位值。 |
int |
hashCode()
返回此描述符的雜湊碼值。 |
boolean |
isValid()
如果所有給定名稱的欄位都有合法值,則返回 true。 |
void |
removeField(String fieldName)
從該 descriptor 中刪除欄位。 |
void |
setField(String fieldName,
Object fieldValue)
設置特定欄位名的值。 |
void |
setFields(String[] fieldNames,
Object[] fieldValues)
將欄位名稱陣列中的所有欄位設置為與欄位值陣列中的索引相同的新值。 |
String |
toString()
返回 |
String |
toXMLString()
返回表示描述符的 XML 字元串。 |
從類別 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public DescriptorSupport()
isValid
方法返回 false
)。
public DescriptorSupport(int initNumFields) throws MBeanException, RuntimeOperationsException
isValid
方法返回 false
)。
initNumFields
- 存儲 descriptor 欄位的 Map 的初始容量。
RuntimeOperationsException
- 如果 initNumField 的值是非法值 (<= 0)
MBeanException
- 如果包裹了一個分佈式通信異常。public DescriptorSupport(DescriptorSupport inDescr)
inDescr
- 描述符,用於初始化所建構的描述符。如果該參數為 null 或不包含 descriptor 欄位,則將創建一個空 Descriptor。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
- 如果包裹了一個分佈式通信異常。public DescriptorSupport(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException
fieldNames
- 欄位名稱的 String 陣列。此陣列的所有元素都不可以為 null。fieldValues
- 對應欄位值的 Object 陣列。此陣列的元素可以為 null。fieldValue
對於 fieldName
必須是有效的(正如 isValid
方法中所定義的那樣)。
註:參數的陣列大小應是比對的。如果兩個陣列均為空,則創建一個空描述符。
RuntimeOperationsException
- 如果 Names 或 Values 欄位的值為非法值。陣列長度必須相等。如果因為某種原因導致描述符建構失敗,則將拋出此異常。public DescriptorSupport(String... fields)
fields
- 每個元素包含一個欄位名稱和欄位值的 String 陣列。如果此陣列為 null 或空,則將執行預設的建構子。忽略 null 字元串或空字元串。
所有欄位值都應是 String。如果欄位值不是 String,則開發人員必須重置或正確轉換這些欄位。
註:每個字元串都應為 fieldName=fieldValue 形式。欄位名稱到第一個 =
字元結束;例如,如果 String 為 a=b=c
則欄位名稱為 a
,其值為 b=c
。
RuntimeOperationsException
- 如果 Names 或 Values 欄位的值為非法值。欄位必須包含 "="。"=fieldValue"、"fieldName" 和 "fieldValue" 是非法的。FieldName 不可以為 null。"fieldName=" 將使該值為 null。如果因為某種原因導致描述符建構失敗,則將拋出此異常。方法詳細資訊 |
---|
public Object getFieldValue(String fieldName) throws RuntimeOperationsException
Descriptor
複製的描述
Descriptor
中的 getFieldValue
fieldName
- 欄位名稱。
RuntimeOperationsException
- 如果欄位名稱不合法。public void setField(String fieldName, Object fieldValue) throws RuntimeOperationsException
Descriptor
複製的描述設置特定欄位名的值。這將修改現有的欄位或添加一個新欄位。
設置前將驗證該欄位值。如果該值無效,則將拋出一個異常。有效性的含義依賴於描述符實作。
Descriptor
中的 setField
fieldName
- 要設置的欄位的名稱。不能為 null 或空。fieldValue
- 針對該欄位名稱所設置的欄位值。如果 null 是欄位的有效值,則可以為 null。
RuntimeOperationsException
- 如果欄位名或欄位值不合法(包裹的異常為 IllegalArgumentException
);或者描述符不可變(包裹的異常為 UnsupportedOperationException
)。public String[] getFields()
Descriptor
複製的描述
Descriptor
中的 getFields
Descriptor.setFields(java.lang.String[], java.lang.Object[])
public String[] getFieldNames()
Descriptor
複製的描述
Descriptor
中的 getFieldNames
public Object[] getFieldValues(String... fieldNames)
Descriptor
複製的描述fieldNames
String 陣列參數的順序相同。
Descriptor
中的 getFieldValues
fieldNames
- 欄位名稱的 String 陣列,應該返回這些欄位的值。如果該陣列為空,則將返回一個空陣列。如果陣列為 null,則將返回所有值,如同參數是 Descriptor.getFieldNames()
返回的陣列一樣。如果陣列中某個欄位名不存在(包括欄位名為 null 或空字元串的情況),則對於要返回的比對陣列元素,將返回 null。
fieldNames
列表為空,則將得到一個空陣列。public void setFields(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException
Descriptor
複製的描述將欄位名稱陣列中的所有欄位設置為與欄位值陣列中的索引相同的新值。陣列大小必須是比對的。
設置前將驗證該欄位值。如果該值無效,則將拋出一個異常。如果陣列為空,則所有更改都將無效。
Descriptor
中的 setFields
fieldNames
- 欄位名稱的 String 陣列。陣列和陣列元素不能為 null。fieldValues
- 對應欄位值的 Object 陣列。陣列不能為 null。陣列的元素可以為 null。
RuntimeOperationsException
- 如果由於某種原因更改失敗。如果 fieldNames
或 fieldValues
為 null,或者陣列的長度不同,或者其中一個陣列存在非法值,則包裹的異常為 IllegalArgumentException
。如果描述符不可變,且調用將更改其內容,則包裹的異常為 UnsupportedOperationException
。Descriptor.getFields()
public Object clone() throws RuntimeOperationsException
Descriptor
中的 clone
Object
中的 clone
RuntimeOperationsException
- 如果 Names 或 Values 欄位的值為非法值。如果因為某種原因導致描述符建構失敗,則將拋出此異常。Cloneable
public void removeField(String fieldName)
Descriptor
複製的描述
Descriptor
中的 removeField
fieldName
- 要移除的欄位的 String 名稱。如果欄位名不合法或找不到欄位,則不拋出任何異常。public boolean equals(Object o)
Arrays.deepEquals
必須返回 true。Object.equals(Object)
必須返回 true。
Descriptor
中的 equals
Object
中的 equals
o
- 要與之比較的物件。
true
;否則返回 false
。Object.hashCode()
,
Hashtable
public int hashCode()
返回此描述符的雜湊碼值。該雜湊碼是描述符每個欄位的雜湊碼的總和。名為 n
且值為 v
的欄位的雜湊碼為 n.toLowerCase().hashCode() ^ h
。這裡的 h
是 v
的雜湊碼,計算方式如下:
v
為 null,則 h
為 0。v
是基本型別陣列,則使用恰當重載形式的 java.util.Arrays.hashCode
計算 h
。v
是物件陣列,則使用 Arrays.deepHashCode
計算 h
。h
為 v.hashCode()
。
Descriptor
中的 hashCode
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean isValid() throws RuntimeOperationsException
此實作不支持與目錄或尋找服務進行互操作。因此,根據規範,將不對 "export" 欄位進行檢查。
否則,在以下情況下此實作返回 false:
Descriptor
中的 isValid
RuntimeOperationsException
- 如果因為某種原因導致驗證檢查失敗,則將拋出此異常。public String toXMLString()
返回表示描述符的 XML 字元串。
格式是未定義的,但實作應確保在使用建構子 DescriptorSupport(String inStr)
進行實例化時,能夠使用此方法返回的字元串來建構一個等效描述符。
對於不是 String 物件的欄位,可以調用 toString() 來創建值。該值將用括號括起來。不保證能夠重新建構這些物件,除非它們已經過特殊設置以有意義的格式支持 toString(),並且具有接受相同格式的 String 的比對建構子。
如果描述符為空,則返回以下 String:<Descriptor></Descriptor>
RuntimeOperationsException
- 如果 Names 或 Values 欄位的值為非法值。如果因為某種原因導致 XML 格式的字元串建構失敗,則將拋出此異常。public String toString()
Object
中的 toString
RuntimeOperationsException
- 如果 Names 或 Values 欄位的值為非法值。如果因為某種原因導致描述符字元串出錯,則將拋出此異常。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。