-
- All Known Subinterfaces:
-
DocAttributeSet,PrintJobAttributeSet,PrintRequestAttributeSet,PrintServiceAttributeSet
- 所有已知实现类:
-
HashAttributeSet,HashDocAttributeSet,HashPrintJobAttributeSet,HashPrintRequestAttributeSet,HashPrintServiceAttributeSet
public interface AttributeSetInterface AttributeSet指定一组打印属性的接口。 打印属性是其类实现接口Attribute的对象。属性集包含一组属性值,其中集合中不允许重复的值。 此外,属性集中的每个值都是某个类别的成员,并且在该集合中允许任何特定类别中的最多一个值。 对于属性集,值为
Attribute对象,类别为Class对象。 属性类别是该类属性的类层次结构根目录下的类(或接口)。 请注意,属性对象的类别可能是属性对象的类的超类,而不是属性对象的类本身。 通过调用接口Attribute中定义的getCategory()方法来确定属性对象的类别。AttributeSet的接口类似于Java Collections API的java.util.Map接口的接口,但是它将接受的类型更具限制性,并将键和值组合到属性中。
属性集在Print Service API的多个位置使用。 在每个上下文中,只有某些种类的属性被允许出现在该属性集,如由该属性类实现加标签接口确定-
DocAttribute,PrintRequestAttribute,PrintJobAttribute,和PrintServiceAttribute。 但是也有一些限制为仅包含四种属性的一个属性组四个特-DocAttributeSet,PrintRequestAttributeSet,PrintJobAttributeSet,并PrintServiceAttributeSet,分别。 请注意,许多属性类实现多个标记接口,因此可能会出现在多个上下文中。- A
DocAttributeSet(包含DocAttributes)指定单个文档的特征和要应用于单个文档的打印作业设置。 - A
PrintRequestAttributeSet包含PrintRequestAttributes,指定要应用于整个打印作业的设置以及打印作业中的所有文档。 - A
PrintJobAttributeSet,包含PrintJobAttributes,报告打印作业的状态。 - A
PrintServiceAttributeSet(包含PrintServiceAttribute)报告打印服务实例的状态。
在某些情况下,只允许客户端检查属性集的内容,但不允许更改它们(该集合是只读的)。 在其他地方,允许客户端检查和更改属性集的内容(集合是读写)。 对于只读属性集,调用mutating操作会引发UnmodifiableSetException。
Print Service API提供了一个接口AttributeSet的实现,类
HashAttributeSet。 一个客户端可以使用类HashAttributeSet或提供自己的接口AttributeSet的实现。 打印服务API还提供:接口AttributeSet的子接口的实现-类HashDocAttributeSet,HashPrintRequestAttributeSet,HashPrintJobAttributeSet,并HashPrintServiceAttributeSet。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 booleanadd(Attribute attribute)如果指定的属性不存在,请将指定的属性添加到此属性集中,首先删除与指定的属性值相同的属性类别中的任何现有值。booleanaddAll(AttributeSet attributes)将指定集合中的所有元素添加到此属性。voidclear()从该属性集中删除所有属性。booleancontainsKey(Class<?> category)如果此属性集包含指定类别的属性,则返回true。booleancontainsValue(Attribute attribute)如果此属性集包含给定的属性值,则返回true。booleanequals(Object object)将指定的对象与此属性集进行比较,以便相等。Attributeget(Class<?> category)返回此属性集在给定属性类别中包含的属性值。inthashCode()返回此属性集的哈希码值。booleanisEmpty()如果此属性集不包含属性,则返回true。booleanremove(Class<?> category)从此属性集中删除此类别的任何属性(如果存在)。booleanremove(Attribute attribute)从该属性集中删除指定的属性(如果存在)。intsize()返回此属性集中的属性数。Attribute[]toArray()返回此集合中包含的属性的数组。
-
-
-
方法详细信息
-
get
Attribute get(Class<?> category)
返回此属性集在给定属性类别中包含的属性值。 如果此属性集在给定属性类别中不包含任何属性值,则返回null。- 参数
-
category- 要返回其关联属性值的属性类别。 它必须是一个Class实现接口Attribute。 - 结果
-
该属性集中包含的给定属性类别中的属性值,如果此属性集不包含给定属性类别中的任何属性值,
null。 - 异常
-
NullPointerException- (未选中的异常)如果category为空,则抛出。 -
ClassCastException- (未选中的异常)抛出category不是Class实现接口Attribute。
-
add
boolean add(Attribute attribute)
如果指定的属性不存在,请将指定的属性添加到此属性集中,首先删除与指定的属性值相同的属性类别中的任何现有值。- 参数
-
attribute- 要添加到此属性集的属性值。 - 结果
-
true如果此属性集由于调用而更改,即给定的属性值尚不是此属性集的成员。 - 异常
-
NullPointerException- (未经检查的异常)如果attribute为空,则抛出。 -
UnmodifiableSetException- (未选中的异常)如果此属性集不支持add()操作,则抛出此异常。
-
remove
boolean remove(Class<?> category)
从此属性集中删除此类别的任何属性(如果存在)。 如果category为空,则remove()不执行任何操作并返回false。- 参数
-
category- 要从此属性集中删除的属性类别。 - 结果
-
true如果该属性集作为调用的结果发生更改,即给定的属性值true为此属性集的成员。 - 异常
-
UnmodifiableSetException- (未选中的异常)如果此属性集不支持remove()操作,则抛出此异常。
-
remove
boolean remove(Attribute attribute)
从该属性集中删除指定的属性(如果存在)。 如果attribute为空,那么remove()什么都不做,并返回false。- 参数
-
attribute- 要从此属性集中删除的属性值。 - 结果
-
true如果此属性集由于调用而更改,即给定属性值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-attributes元素添加到此属性集中。 - 结果
-
true如果此属性集由于调用而更改。 - 异常
-
UnmodifiableSetException- (未检查异常)如果此属性集不支持addAll(AttributeSet)方法,则抛出此异常。 -
NullPointerException- (未检查的异常)如果指定集合中的某些元素为空,则抛出。 - 另请参见:
-
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接口的不同实现中正常工作。- 重写:
-
equals在Object - 参数
-
object- 要与此属性集进行相等的比较。 - 结果
-
true如果指定的对象等于此属性集。 - 另请参见:
-
Object.hashCode(),HashMap
-
hashCode
int hashCode()
返回此属性集的哈希码值。 属性集的哈希码被定义为AttributeSet中每个条目的哈希码的总和。 这确保t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个属性集t1和t2,根据t2的一般合同的要求 。- 重写:
-
hashCode在Object - 结果
- 该属性集的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
-