declare namespace javax { namespace print { namespace attribute { /** * Interface AttributeSet specifies the interface for a set of printing * attributes. A printing attribute is an object whose class implements * interface {@link Attribute Attribute}. *
* An attribute set contains a group of attribute values, * where duplicate values are not allowed in the set. * Furthermore, each value in an attribute set is * a member of some category, and at most one value in any particular * category is allowed in the set. For an attribute set, the values are {@link * Attribute Attribute} objects, and the categories are {@link java.lang.Class * Class} objects. An attribute's category is the class (or interface) at the * root of the class hierarchy for that kind of attribute. Note that an * attribute object's category may be a superclass of the attribute object's * class rather than the attribute object's class itself. An attribute * object's * category is determined by calling the {@link Attribute#getCategory() * getCategory()} method defined in interface {@link Attribute * Attribute}. *
* The interfaces of an AttributeSet resemble those of the Java Collections * API's java.util.Map interface, but is more restrictive in the types * it will accept, and combines keys and values into an Attribute. *
* Attribute sets are used in several places in the Print Service API. In * each context, only certain kinds of attributes are allowed to appear in the * attribute set, as determined by the tagging interfaces which the attribute * class implements -- {@link DocAttribute DocAttribute}, {@link * PrintRequestAttribute PrintRequestAttribute}, {@link PrintJobAttribute * PrintJobAttribute}, and {@link PrintServiceAttribute * PrintServiceAttribute}. * There are four specializations of an attribute set that are restricted to * contain just one of the four kinds of attribute -- {@link DocAttributeSet * DocAttributeSet}, {@link PrintRequestAttributeSet * PrintRequestAttributeSet}, * {@link PrintJobAttributeSet PrintJobAttributeSet}, and {@link * PrintServiceAttributeSet PrintServiceAttributeSet}, respectively. Note that * many attribute classes implement more than one tagging interface and so may * appear in more than one context. *
*
*
*
* In some contexts, the client is only allowed to examine an attribute set's * contents but not change them (the set is read-only). In other places, the * client is allowed both to examine and to change an attribute set's contents * (the set is read-write). For a read-only attribute set, calling a mutating * operation throws an UnmodifiableSetException. *
* The Print Service API provides one implementation of interface * AttributeSet, class {@link HashAttributeSet HashAttributeSet}. * A client can use class {@link * HashAttributeSet HashAttributeSet} or provide its own implementation of * interface AttributeSet. The Print Service API also provides * implementations of interface AttributeSet's subinterfaces -- classes {@link * HashDocAttributeSet HashDocAttributeSet}, * {@link HashPrintRequestAttributeSet * HashPrintRequestAttributeSet}, {@link HashPrintJobAttributeSet * HashPrintJobAttributeSet}, and {@link HashPrintServiceAttributeSet * HashPrintServiceAttributeSet}. *
* @author Alan Kaminsky
*/
// @ts-ignore
interface AttributeSet {
/**
* Returns the attribute value which this attribute set contains in the
* given attribute category. Returns null if this attribute set
* does not contain any attribute value in the given attribute category.
* @param category Attribute category whose associated attribute value
* is to be returned. It must be a
* {#link java.lang.Class Class}
* that implements interface {@link Attribute
* Attribute}.
* @return The attribute value in the given attribute category contained
* in this attribute set, or null if this attribute set
* does not contain any attribute value in the given attribute
* category.
* @throws NullPointerException
* (unchecked exception) Thrown if the
* If the category
is null.
* @throws ClassCastException
* (unchecked exception) Thrown if the category
is not a
* {#link java.lang.Class Class} that implements interface {@link
* Attribute Attribute}.
*/
// @ts-ignore
get(category: java.lang.Classattribute
is null.
* @throws UnmodifiableSetException
* (unchecked exception) Thrown if this attribute set does not support
* the add()
operation.
*/
// @ts-ignore
add(attribute: javax.print.attribute.Attribute): boolean
/**
* Removes any attribute for this category from this attribute set if
* present. If category
is null, then
* remove()
does nothing and returns false.
* @param category Attribute category to be removed from this
* attribute set.
* @return true if this attribute set changed as a result of the
* call, i.e., the given attribute value had been a member of this
* attribute set.
* @throws UnmodifiableSetException
* (unchecked exception) Thrown if this attribute set does not support
* the remove()
operation.
*/
// @ts-ignore
remove(category: java.lang.Classattribute
is null, then
* remove()
does nothing and returns false.
* @param attribute Attribute value to be removed from this attribute set.
* @return true if this attribute set changed as a result of the
* call, i.e., the given attribute value had been a member of this
* attribute set.
* @throws UnmodifiableSetException
* (unchecked exception) Thrown if this attribute set does not support
* the remove()
operation.
*/
// @ts-ignore
remove(attribute: javax.print.attribute.Attribute): boolean
/**
* Returns true if this attribute set contains an
* attribute for the specified category.
* @param category whose presence in this attribute set is
* to be tested.
* @return true if this attribute set contains an attribute
* value for the specified category.
*/
// @ts-ignore
containsKey(category: java.lang.ClassaddAll(AttributeSet)
* operation is unspecified if the specified set is modified while
* the operation is in progress.
* addAll(AttributeSet)
operation throws an exception,
* the effect on this attribute set's state is implementation dependent;
* elements from the specified set before the point of the exception may
* or may not have been added to this attribute set.
* @param attributes whose elements are to be added to this attribute
* set.
* @return true if this attribute set changed as a result of the
* call.
* @throws UnmodifiableSetException
* (Unchecked exception) Thrown if this attribute set does not support
* the addAll(AttributeSet) method.
* @throws NullPointerException
* (Unchecked exception) Thrown if some element in the specified
* set is null.
* @see #add(Attribute)
*/
// @ts-ignore
addAll(attributes: javax.print.attribute.AttributeSet): boolean
/**
* Returns the number of attributes in this attribute set. If this
* attribute set contains more than Integer.MAX_VALUE elements,
* returns Integer.MAX_VALUE.
* @return The number of attributes in this attribute set.
*/
// @ts-ignore
size(): number /*int*/
/**
* Returns an array of the attributes contained in this set.
* @return the Attributes contained in this set as an array, zero length
* if the AttributeSet is empty.
*/
// @ts-ignore
toArray(): javax.print.attribute.Attribute[]
/**
* Removes all attributes from this attribute set.
* @throws UnmodifiableSetException
* (unchecked exception) Thrown if this attribute set does not support
* the clear()
operation.
*/
// @ts-ignore
clear(): void
/**
* Returns true if this attribute set contains no attributes.
* @return true if this attribute set contains no attributes.
*/
// @ts-ignore
isEmpty(): boolean
/**
* Compares the specified object with this attribute set for equality.
* Returns true if the given object is also an attribute set and
* the two attribute sets contain the same attribute category-attribute
* value mappings. This ensures that the
* equals() method works properly across different
* implementations of the AttributeSet interface.
* @param object to be compared for equality with this attribute set.
* @return true if the specified object is equal to this
* attribute set.
*/
// @ts-ignore
equals(object: java.lang.Object | any): boolean
/**
* Returns the hash code value for this attribute set. The hash code of an
* attribute set is defined to be the sum of the hash codes of each entry
* in the AttributeSet.
* This ensures that t1.equals(t2) implies that
* t1.hashCode()==t2.hashCode() for any two attribute sets
* t1 and t2, as required by the general contract of
* {@link java.lang.Object#hashCode() Object.hashCode()}.
* @return The hash code value for this attribute set.
*/
// @ts-ignore
hashCode(): number /*int*/
}
}
}
}