From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001
From: upstream source tree
+ * There are no duplicate values allowed in an attribute set and there is
+ * at most one attribute object contained per category type. Based on the
+ * {@link java.util.Map} interface the values of attribute sets are objects
+ * of type {@link javax.print.attribute.Attribute} and the entries are the
+ * categories as {@link java.lang.Class} instances.
+ *
+ * The following specialized types of AttributeSet
is the top-level interface for sets of printing
+ * attributes in the Java Print Service API.
+ * AttributeSet
are available:
+ *
+ *
+ *
+ * Attribute sets may be unmodifiable depending on the context of usage. If + * used as read-only attribute set modifying operations throw an + * {@link javax.print.attribute.UnmodifiableSetException}. + *
+ *+ * The Java Print Service API provides implementation classes for the existing + * attribute set interfaces but applications may use their own implementations. + *
+ * + * @author Michael Koch (konqueror@gmx.de) + */ +public interface AttributeSet +{ + /** + * Adds the specified attribute value to this attribute set + * if it is not already present. + * + * This operation removes any existing attribute of the same category + * before adding the given attribute to the set. + * + * @param attribute the attribute to add. + * @returntrue
if the set is changed, false otherwise.
+ * @throws NullPointerException if the attribute is null
.
+ * @throws UnmodifiableSetException if the set does not support modification.
+ */
+ boolean add (Attribute attribute);
+
+ /**
+ * Adds all of the elements in the specified set to this attribute set.
+ *
+ * @param attributes the set of attributes to add.
+ * @return true
if the set is changed, false otherwise.
+ * @throws UnmodifiableSetException if the set does not support modification.
+ *
+ * @see #add(Attribute)
+ */
+ boolean addAll (AttributeSet attributes);
+
+ /**
+ * Removes all attributes from this attribute set.
+ *
+ * @throws UnmodifiableSetException if the set does not support modification.
+ */
+ void clear ();
+
+ /**
+ * Checks if this attributes set contains an attribute with the given
+ * category.
+ *
+ * @param category the category to test for.
+ * @return true
if an attribute of the category is contained
+ * in the set, false
otherwise.
+ */
+ boolean containsKey (Class> category);
+
+ /**
+ * Checks if this attribute set contains the given attribute.
+ *
+ * @param attribute the attribute to test for.
+ * @return true
if the attribute is contained in the set,
+ * false
otherwise.
+ */
+ boolean containsValue (Attribute attribute);
+
+ /**
+ * Tests this set for equality with the given object. true
is
+ * returned, if the given object is also of type AttributeSet
+ * and the contained attributes are the same as in this set.
+ *
+ * @param obj the Object to test.
+ * @return true
if equal, false otherwise.
+ */
+ boolean equals (Object obj);
+
+ /**
+ * Returns the attribute object contained in this set for the given attribute
+ * category.
+ *
+ * @param category the category of the attribute. A Class
+ * instance of a class implementing the Attribute
interface.
+ * @return The attribute for this category or null
if no
+ * attribute is contained for the given category.
+ * @throws NullPointerException if category is null.
+ * @throws ClassCastException if category is not implementing
+ * Attribute
.
+ */
+ Attribute get (Class> category);
+
+ /**
+ * Returns the hashcode value. The hashcode value is the sum of all hashcodes
+ * of the attributes contained in this set.
+ *
+ * @return The hashcode for this attribute set.
+ */
+ int hashCode ();
+
+ /**
+ * Checks if the attribute set is empty.
+ *
+ * @return true
if the attribute set is empty, false otherwise.
+ */
+ boolean isEmpty ();
+
+ /**
+ * Removes the given attribute from the set. If the given attribute is null
+ * nothing is done and false
is returned.
+ *
+ * @param attribute the attribute to remove.
+ * @return true
if removed, false in all other cases.
+ * @throws UnmodifiableSetException if the set does not support modification.
+ */
+ boolean remove (Attribute attribute);
+
+ /**
+ * Removes the attribute entry of the given category from the set. If the given
+ * category is null
nothing is done and false
is returned.
+ *
+ * @param category the category of the entry to be removed.
+ * @return true
if an attribute is removed, false in all other cases.
+ * @throws UnmodifiableSetException if the set does not support modification.
+ */
+ boolean remove (Class> category);
+
+ /**
+ * Returns the number of elements in this attribute set.
+ *
+ * @return The number of elements.
+ */
+ int size ();
+
+ /**
+ * Returns the content of the attribute set as an array
+ *
+ * @return An array of attributes.
+ */
+ Attribute[] toArray ();
+}
--
cgit v1.2.3