|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface AttributeSet
介面 AttributeSet 為列印屬性集指定介面。列印屬性是一個物件,其類別實作介面 Attribute。
屬性集包含一組屬性值,在該集合中,不允許出現重複值。此外,屬性集中的每個值是某一類別別 的成員,在該集合的任何特定類別別中最多允許有一個值。對於某個屬性集,值都是 Attribute 物件,類別別都是 Class 物件。屬性的類別別是該類別屬性的類別層次結構的根處的類別(或介面)。注意,屬性物件的類別別可以是屬性物件的類別的父級類別,而不是屬性物件的類別本身。通過調用介面 Attribute 中定義的 方法確定屬性物件的類別別。
getCategory()
AttributeSet 的介面與 Java Collections API 的 java.util.Map 的介面類似,但是對於它將要接受的型別有更強的限制性,並且將鍵和值組合到了屬性中。
在 Print Service API 中,多處使用了屬性集。在每個上下文中,只有某些屬性(DocAttribute、PrintRequestAttribute、PrintJobAttribute 和 PrintServiceAttribute)允許出現在屬性集中,這由屬性類別實作的標記介面確定。一個屬性集有四種規範,它們限於只能分別包含以下四種屬性之一:DocAttributeSet、PrintRequestAttributeSet、PrintJobAttributeSet 和 PrintServiceAttributeSet。注意,許多屬性類別會實作多個標記介面,因此可以出現在多個上下文中。
DocAttribute 的 DocAttributeSet 指定單個文檔的特徵和應用到單個文檔的列印作業的設置。
PrintRequestAttribute 的 PrintRequestAttributeSet 指定應用到整個列印作業和列印作業中的所有文檔的設置。
PrintJobAttribute 的 PrintJobAttributeSet 報告列印作業的狀態。
PrintServiceAttribute 的 PrintServiceAttributeSet 報告 Print Service 實例的狀態。
在某些上下文中,僅允許客戶機檢查屬性集的內容,但不允許更改它們(該集合是只讀的)。在其他地方,允許客戶機檢查和更改屬性集的內容(該集合是可讀寫的)。對於只讀屬性集,調用更改操作會拋出一個 UnmodifiableSetException。
Print Service API 提供介面 AttributeSet 的一個實作,即類別 HashAttributeSet。客戶機可以使用類別 HashAttributeSet,或提供其自已的介面 AttributeSet 的實作。Print Service API 還提供介面 AttributeSet 的子介面的實作,即類別 HashDocAttributeSet、HashPrintRequestAttributeSet、HashPrintJobAttributeSet 和 HashPrintServiceAttributeSet。
| 方法摘要 | |
|---|---|
boolean |
add(Attribute attribute)
如果指定的屬性尚不存在,則將它添加到此屬性集中,首先要移除與指定屬性值相同的屬性類別別中的任何現有值。 |
boolean |
addAll(AttributeSet attributes)
將指定集合中的所有元素添加到此屬性中。 |
void |
clear()
從此屬性集中移除所有屬性。 |
boolean |
containsKey(Class<?> category)
如果此屬性集包含指定類別別的一個屬性,則返回 true。 |
boolean |
containsValue(Attribute attribute)
如果此屬性集包含給定的屬性值,則返回 true。 |
boolean |
equals(Object object)
比較指定的物件與此屬性集的相等性。 |
Attribute |
get(Class<?> category)
返回此屬性集在給定的屬性類別別中包含的屬性值。 |
int |
hashCode()
返回此屬性集的雜湊碼值。 |
boolean |
isEmpty()
如果此屬性集不包含任何屬性,則返回 true。 |
boolean |
remove(Attribute attribute)
從此屬性集移除指定的屬性(如果存在)。 |
boolean |
remove(Class<?> category)
從此屬性集移除此類別別的任何屬性(如果存在)。 |
int |
size()
返回此屬性集中屬性的數量。 |
Attribute[] |
toArray()
返回此集合中包含的屬性的陣列。 |
| 方法詳細資訊 |
|---|
Attribute get(Class<?> category)
category - 將返回其關聯的屬性值的屬性類別別。它必須是實作介面 Attribute 的 Class。
NullPointerException - (未經檢查的異常)如果 category 為 null,則拋出該異常。
ClassCastException - (未經檢查的異常)如果 category 不是實作介面 Attribute 的 Class,則拋出該異常。boolean add(Attribute attribute)
attribute - 要添加到此屬性集的屬性值。
NullPointerException - (未經檢查的異常)如果 attribute 為 null,則拋出該異常。
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 add() 操作,則拋出該異常。boolean remove(Class<?> category)
category 為 null,則 remove() 不執行任何操作,並返回 false。
category - 要從此屬性集移除的屬性類別別。
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 remove() 操作,則拋出該異常。boolean remove(Attribute attribute)
attribute 為 null,則 remove() 不執行任何操作,並返回 false。
attribute - 從此屬性集移除的屬性值。
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 remove() 操作,則拋出該異常。boolean containsKey(Class<?> category)
category - 將測試其是否存在於此屬性集中的類別別。
boolean containsValue(Attribute attribute)
attribute - 將測試其是否存在於此屬性集中的屬性值。
boolean addAll(AttributeSet attributes)
add(Attribute) 操作成功地應用到此屬性集中相同。如果正在進行此操作的同時修改了指定的集合,則 addAll(AttributeSet) 操作的行為是不確定的。
如果 addAll(AttributeSet) 操作拋出一個異常,則對此屬性集狀態的影響取決於實作方法;在異常點之前,不一定將指定集合中的元素添加到了此屬性集。
attributes - 要將其元素添加到此屬性集中的屬性。
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 addAll(AttributeSet) 方法,則拋出該異常。
NullPointerException - (未經檢查的異常)如果指定集合中的某一元素為 null,則拋出該異常。add(Attribute)int size()
Attribute[] toArray()
void clear()
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 clear() 操作,則拋出該異常。boolean isEmpty()
boolean equals(Object object)
Object 中的 equalsobject - 要與此屬性集進行相等性比較的物件。
Object.hashCode(),
Hashtableint hashCode()
Object.hashCode() 的通用協定所要求的。
Object 中的 hashCodeObject.equals(java.lang.Object),
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。