JavaTM 2 Platform
Standard Ed. 6

javax.print.attribute
介面 AttributeSet

所有已知子介面:
DocAttributeSet, PrintJobAttributeSet, PrintRequestAttributeSet, PrintServiceAttributeSet
所有已知實作類別:
HashAttributeSet, HashDocAttributeSet, HashPrintJobAttributeSet, HashPrintRequestAttributeSet, HashPrintServiceAttributeSet

public interface AttributeSet

介面 AttributeSet 為列印屬性集指定介面。列印屬性是一個物件,其類別實作介面 Attribute

屬性集包含一組屬性值,在該集合中,不允許出現重複值。此外,屬性集中的每個值是某一類別別 的成員,在該集合的任何特定類別別中最多允許有一個值。對於某個屬性集,值都是 Attribute 物件,類別別都是 Class 物件。屬性的類別別是該類別屬性的類別層次結構的根處的類別(或介面)。注意,屬性物件的類別別可以是屬性物件的類別的父級類別,而不是屬性物件的類別本身。通過調用介面 Attribute 中定義的 getCategory() 方法確定屬性物件的類別別。

AttributeSet 的介面與 Java Collections API 的 java.util.Map 的介面類似,但是對於它將要接受的型別有更強的限制性,並且將鍵和值組合到了屬性中。

在 Print Service API 中,多處使用了屬性集。在每個上下文中,只有某些屬性(DocAttributePrintRequestAttributePrintJobAttributePrintServiceAttribute)允許出現在屬性集中,這由屬性類別實作的標記介面確定。一個屬性集有四種規範,它們限於只能分別包含以下四種屬性之一:DocAttributeSetPrintRequestAttributeSetPrintJobAttributeSetPrintServiceAttributeSet。注意,許多屬性類別會實作多個標記介面,因此可以出現在多個上下文中。

在某些上下文中,僅允許客戶機檢查屬性集的內容,但不允許更改它們(該集合是只讀的)。在其他地方,允許客戶機檢查和更改屬性集的內容(該集合是可讀寫的)。對於只讀屬性集,調用更改操作會拋出一個 UnmodifiableSetException。

Print Service API 提供介面 AttributeSet 的一個實作,即類別 HashAttributeSet。客戶機可以使用類別 HashAttributeSet,或提供其自已的介面 AttributeSet 的實作。Print Service API 還提供介面 AttributeSet 的子介面的實作,即類別 HashDocAttributeSetHashPrintRequestAttributeSetHashPrintJobAttributeSetHashPrintServiceAttributeSet


方法摘要
 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()
          返回此集合中包含的屬性的陣列。
 

方法詳細資訊

get

Attribute get(Class<?> category)
返回此屬性集在給定的屬性類別別中包含的屬性值。如果此屬性集在給定的屬性類別別中不包含任何屬性值,則返回 null

參數:
category - 將返回其關聯的屬性值的屬性類別別。它必須是實作介面 AttributeClass
返回:
此屬性集中包含的給定屬性類別別中的屬性值,如果此屬性集在給定的屬性類別別中不包含任何屬性值,則返回 null
拋出:
NullPointerException - (未經檢查的異常)如果 category 為 null,則拋出該異常。
ClassCastException - (未經檢查的異常)如果 category 不是實作介面 AttributeClass,則拋出該異常。

add

boolean add(Attribute attribute)
如果指定的屬性尚不存在,則將它添加到此屬性集中,首先要移除與指定屬性值相同的屬性類別別中的任何現有值。

參數:
attribute - 要添加到此屬性集的屬性值。
返回:
如果此屬性集由於調用而發生改變(即給定的屬性值還不是此屬性集的成員),則返回 true
拋出:
NullPointerException - (未經檢查的異常)如果 attribute 為 null,則拋出該異常。
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 add() 操作,則拋出該異常。

remove

boolean remove(Class<?> category)
從此屬性集移除此類別別的任何屬性(如果存在)。如果 category 為 null,則 remove() 不執行任何操作,並返回 false

參數:
category - 要從此屬性集移除的屬性類別別。
返回:
如果此屬性集由於調用而發生改變(即給定的屬性值已經成為此屬性集的成員),則返回 true
拋出:
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 remove() 操作,則拋出該異常。

remove

boolean remove(Attribute attribute)
從此屬性集移除指定的屬性(如果存在)。如果 attribute 為 null,則 remove() 不執行任何操作,並返回 false

參數:
attribute - 從此屬性集移除的屬性值。
返回:
如果此屬性集由於調用而發生改變(即給定的屬性值已經成為此屬性集的成員),則返回 true
拋出:
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 remove() 操作,則拋出該異常。

containsKey

boolean containsKey(Class<?> category)
如果此屬性集包含指定類別別的一個屬性,則返回 true

參數:
category - 將測試其是否存在於此屬性集中的類別別。
返回:
如果此屬性集包含指定類別別的一個屬性值,則返回 true

containsValue

boolean containsValue(Attribute attribute)
如果此屬性集包含給定的屬性值,則返回 true

參數:
attribute - 將測試其是否存在於此屬性集中的屬性值。
返回:
如果此屬性集包含給定的屬性值,則返回 true

addAll

boolean addAll(AttributeSet attributes)
將指定集合中的所有元素添加到此屬性中。該結果與使用指定集合中的每個元素將 = add(Attribute) 操作成功地應用到此屬性集中相同。如果正在進行此操作的同時修改了指定的集合,則 addAll(AttributeSet) 操作的行為是不確定的。

如果 addAll(AttributeSet) 操作拋出一個異常,則對此屬性集狀態的影響取決於實作方法;在異常點之前,不一定將指定集合中的元素添加到了此屬性集。

參數:
attributes - 要將其元素添加到此屬性集中的屬性。
返回:
如果此屬性集由於調用而發生改變,則返回 true
拋出:
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 addAll(AttributeSet) 方法,則拋出該異常。
NullPointerException - (未經檢查的異常)如果指定集合中的某一元素為 null,則拋出該異常。
另請參見:
add(Attribute)

size

int size()
返回此屬性集中屬性的數量。如果此屬性集包含的元素多於 Integer.MAX_VALUE ,則返回 Integer.MAX_VALUE

返回:
此屬性集中屬性的數量。

toArray

Attribute[] toArray()
返回此集合中包含的屬性的陣列。

返回:
作為陣列包含在此集合中的屬性,如果 AttributeSet 為空,則返回零長度。

clear

void clear()
從此屬性集中移除所有屬性。

拋出:
UnmodifiableSetException - (未經檢查的異常)如果此屬性集不支持 clear() 操作,則拋出該異常。

isEmpty

boolean isEmpty()
如果此屬性集不包含任何屬性,則返回 true。

返回:
如果此屬性集不包含任何屬性,則返回 true。

equals

boolean equals(Object object)
比較指定的物件與此屬性集的相等性。如果給定的物件也是一個屬性集,並且兩個屬性集包含相同的屬性類別別到屬性值的映射關係,則返回 true。這確保了 equals() 方法能跨越 AttributeSet 介面的不同實作正常運行。

覆寫:
類別 Object 中的 equals
參數:
object - 要與此屬性集進行相等性比較的物件。
返回:
如果指定物件等於此屬性集,則返回 true
另請參見:
Object.hashCode(), Hashtable

hashCode

int hashCode()
返回此屬性集的雜湊碼值。屬性集的雜湊碼被定義為 AttributeSet 中每個條目的雜湊碼的總和。這確保了 t1.equals(t2) 意味對於任何兩個屬性集 t1t2 而言,都存在 t1.hashCode()==t2.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