|
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
中的 equals
object
- 要與此屬性集進行相等性比較的物件。
Object.hashCode()
,
Hashtable
int hashCode()
Object.hashCode()
的通用協定所要求的。
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。