< prev index next >

src/java.desktop/share/classes/javax/print/attribute/HashAttributeSet.java

Print this page

        

*** 30,40 **** import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.HashMap; /** ! * Class HashAttributeSet provides an <code>AttributeSet</code> * implementation with characteristics of a hash map. * * @author Alan Kaminsky */ public class HashAttributeSet implements AttributeSet, Serializable { --- 30,40 ---- import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.HashMap; /** ! * Class HashAttributeSet provides an {@code AttributeSet} * implementation with characteristics of a hash map. * * @author Alan Kaminsky */ public class HashAttributeSet implements AttributeSet, Serializable {
*** 102,132 **** * initially populated with the given attribute. * * @param attribute Attribute value to add to the set. * * @exception NullPointerException ! * (unchecked exception) Thrown if <CODE>attribute</CODE> is null. */ public HashAttributeSet(Attribute attribute) { this (attribute, Attribute.class); } /** * Construct a new attribute set, * initially populated with the values from the * given array. The new attribute set is populated by ! * adding the elements of <CODE>attributes</CODE> array to the set in * sequence, starting at index 0. Thus, later array elements may replace * earlier array elements if the array contains duplicate attribute * values or attribute categories. * * @param attributes Array of attribute values to add to the set. * If null, an empty attribute set is constructed. * * @exception NullPointerException * (unchecked exception) Thrown if any element of ! * <CODE>attributes</CODE> is null. */ public HashAttributeSet(Attribute[] attributes) { this (attributes, Attribute.class); } --- 102,132 ---- * initially populated with the given attribute. * * @param attribute Attribute value to add to the set. * * @exception NullPointerException ! * (unchecked exception) Thrown if {@code attribute} is null. */ public HashAttributeSet(Attribute attribute) { this (attribute, Attribute.class); } /** * Construct a new attribute set, * initially populated with the values from the * given array. The new attribute set is populated by ! * adding the elements of {@code attributes} array to the set in * sequence, starting at index 0. Thus, later array elements may replace * earlier array elements if the array contains duplicate attribute * values or attribute categories. * * @param attributes Array of attribute values to add to the set. * If null, an empty attribute set is constructed. * * @exception NullPointerException * (unchecked exception) Thrown if any element of ! * {@code attributes} is null. */ public HashAttributeSet(Attribute[] attributes) { this (attributes, Attribute.class); }
*** 169,183 **** * attribute set must be an instance. It is assumed to * be interface {@link Attribute Attribute} or a * subinterface thereof. * * @exception NullPointerException ! * (unchecked exception) Thrown if <CODE>attribute</CODE> is null. * @exception NullPointerException if interfaceName is null. * @exception ClassCastException ! * (unchecked exception) Thrown if <CODE>attribute</CODE> is not an ! * instance of <CODE>interfaceName</CODE>. */ protected HashAttributeSet(Attribute attribute, Class<?> interfaceName) { if (interfaceName == null) { throw new NullPointerException("null interface"); } --- 169,183 ---- * attribute set must be an instance. It is assumed to * be interface {@link Attribute Attribute} or a * subinterface thereof. * * @exception NullPointerException ! * (unchecked exception) Thrown if {@code attribute} is null. * @exception NullPointerException if interfaceName is null. * @exception ClassCastException ! * (unchecked exception) Thrown if {@code attribute} is not an ! * instance of {@code interfaceName}. */ protected HashAttributeSet(Attribute attribute, Class<?> interfaceName) { if (interfaceName == null) { throw new NullPointerException("null interface"); }
*** 187,197 **** /** * Construct a new attribute set, where the members of the attribute * set are restricted to the given interface. * The new attribute set is populated ! * by adding the elements of <CODE>attributes</CODE> array to the set in * sequence, starting at index 0. Thus, later array elements may replace * earlier array elements if the array contains duplicate attribute * values or attribute categories. * * @param attributes Array of attribute values to add to the set. If --- 187,197 ---- /** * Construct a new attribute set, where the members of the attribute * set are restricted to the given interface. * The new attribute set is populated ! * by adding the elements of {@code attributes} array to the set in * sequence, starting at index 0. Thus, later array elements may replace * earlier array elements if the array contains duplicate attribute * values or attribute categories. * * @param attributes Array of attribute values to add to the set. If
*** 201,216 **** * be interface {@link Attribute Attribute} or a * subinterface thereof. * * @exception NullPointerException * (unchecked exception) Thrown if any element of ! * <CODE>attributes</CODE> is null. * @exception NullPointerException if interfaceName is null. * @exception ClassCastException * (unchecked exception) Thrown if any element of ! * <CODE>attributes</CODE> is not an instance of ! * <CODE>interfaceName</CODE>. */ protected HashAttributeSet(Attribute[] attributes, Class<?> interfaceName) { if (interfaceName == null) { throw new NullPointerException("null interface"); } --- 201,216 ---- * be interface {@link Attribute Attribute} or a * subinterface thereof. * * @exception NullPointerException * (unchecked exception) Thrown if any element of ! * {@code attributes} is null. * @exception NullPointerException if interfaceName is null. * @exception ClassCastException * (unchecked exception) Thrown if any element of ! * {@code attributes} is not an instance of ! * {@code interfaceName}. */ protected HashAttributeSet(Attribute[] attributes, Class<?> interfaceName) { if (interfaceName == null) { throw new NullPointerException("null interface"); }
*** 233,244 **** * be interface {@link Attribute Attribute} or a * subinterface thereof. * * @exception ClassCastException * (unchecked exception) Thrown if any element of ! * <CODE>attributes</CODE> is not an instance of ! * <CODE>interfaceName</CODE>. */ protected HashAttributeSet(AttributeSet attributes, Class<?> interfaceName) { myInterface = interfaceName; if (attributes != null) { Attribute[] attribArray = attributes.toArray(); --- 233,244 ---- * be interface {@link Attribute Attribute} or a * subinterface thereof. * * @exception ClassCastException * (unchecked exception) Thrown if any element of ! * {@code attributes} is not an instance of ! * {@code interfaceName}. */ protected HashAttributeSet(AttributeSet attributes, Class<?> interfaceName) { myInterface = interfaceName; if (attributes != null) { Attribute[] attribArray = attributes.toArray();
*** 249,276 **** } } /** * Returns the attribute value which this attribute set contains in the ! * given attribute category. Returns <tt>null</tt> 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 <tt>null</tt> if this attribute set * does not contain any attribute value in the given attribute * category. * * @throws NullPointerException ! * (unchecked exception) Thrown if the <CODE>category</CODE> is null. * @throws ClassCastException ! * (unchecked exception) Thrown if the <CODE>category</CODE> is not a * {@link java.lang.Class Class} that implements interface {@link * Attribute Attribute}. */ public Attribute get(Class<?> category) { return attrMap.get(AttributeSetUtilities. --- 249,276 ---- } } /** * Returns the attribute value which this attribute set contains in the ! * given attribute category. Returns {@code 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 {@code null} if this attribute set * does not contain any attribute value in the given attribute * category. * * @throws NullPointerException ! * (unchecked exception) Thrown if the {@code category} is null. * @throws ClassCastException ! * (unchecked exception) Thrown if the {@code category} is not a * {@link java.lang.Class Class} that implements interface {@link * Attribute Attribute}. */ public Attribute get(Class<?> category) { return attrMap.get(AttributeSetUtilities.
*** 283,301 **** * already present, first removing any existing in the same * attribute category as the specified attribute value. * * @param attribute Attribute value to be added to this attribute set. * ! * @return <tt>true</tt> if this attribute set changed as a result of the * call, i.e., the given attribute value was not already a * member of this attribute set. * * @throws NullPointerException ! * (unchecked exception) Thrown if the <CODE>attribute</CODE> is null. * @throws UnmodifiableSetException * (unchecked exception) Thrown if this attribute set does not support ! * the <CODE>add()</CODE> operation. */ public boolean add(Attribute attribute) { Object oldAttribute = attrMap.put(attribute.getCategory(), AttributeSetUtilities. --- 283,301 ---- * already present, first removing any existing in the same * attribute category as the specified attribute value. * * @param attribute Attribute value to be added to this attribute set. * ! * @return {@code true} if this attribute set changed as a result of the * call, i.e., the given attribute value was not already a * member of this attribute set. * * @throws NullPointerException ! * (unchecked exception) Thrown if the {@code attribute} is null. * @throws UnmodifiableSetException * (unchecked exception) Thrown if this attribute set does not support ! * the {@code add()} operation. */ public boolean add(Attribute attribute) { Object oldAttribute = attrMap.put(attribute.getCategory(), AttributeSetUtilities.
*** 303,325 **** return (!attribute.equals(oldAttribute)); } /** * Removes any attribute for this category from this attribute set if ! * present. If <CODE>category</CODE> is null, then ! * <CODE>remove()</CODE> does nothing and returns <tt>false</tt>. * * @param category Attribute category to be removed from this * attribute set. * ! * @return <tt>true</tt> if this attribute set changed as a result of the * call, i.e., the given attribute category had been a member of * this attribute set. * * @throws UnmodifiableSetException * (unchecked exception) Thrown if this attribute set does not ! * support the <CODE>remove()</CODE> operation. */ public boolean remove(Class<?> category) { return category != null && AttributeSetUtilities. --- 303,325 ---- return (!attribute.equals(oldAttribute)); } /** * Removes any attribute for this category from this attribute set if ! * present. If {@code category} is null, then ! * {@code remove()} does nothing and returns {@code false}. * * @param category Attribute category to be removed from this * attribute set. * ! * @return {@code true} if this attribute set changed as a result of the * call, i.e., the given attribute category had been a member of * this attribute set. * * @throws UnmodifiableSetException * (unchecked exception) Thrown if this attribute set does not ! * support the {@code remove()} operation. */ public boolean remove(Class<?> category) { return category != null && AttributeSetUtilities.
*** 327,363 **** attrMap.remove(category) != null; } /** * Removes the specified attribute from this attribute set if ! * present. If <CODE>attribute</CODE> is null, then ! * <CODE>remove()</CODE> does nothing and returns <tt>false</tt>. * * @param attribute Attribute value to be removed from this attribute set. * ! * @return <tt>true</tt> 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 <CODE>remove()</CODE> operation. */ public boolean remove(Attribute attribute) { return attribute != null && attrMap.remove(attribute.getCategory()) != null; } /** ! * Returns <tt>true</tt> if this attribute set contains an * attribute for the specified category. * * @param category whose presence in this attribute set is * to be tested. * ! * @return <tt>true</tt> if this attribute set contains an attribute * value for the specified category. */ public boolean containsKey(Class<?> category) { return category != null && --- 327,363 ---- attrMap.remove(category) != null; } /** * Removes the specified attribute from this attribute set if ! * present. If {@code attribute} is null, then ! * {@code remove()} does nothing and returns {@code false}. * * @param attribute Attribute value to be removed from this attribute set. * ! * @return {@code 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 {@code remove()} operation. */ public boolean remove(Attribute attribute) { return attribute != null && attrMap.remove(attribute.getCategory()) != null; } /** ! * Returns {@code 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 {@code true} if this attribute set contains an attribute * value for the specified category. */ public boolean containsKey(Class<?> category) { return category != null &&
*** 365,381 **** verifyAttributeCategory(category, Attribute.class) != null && attrMap.get(category) != null; } /** ! * Returns <tt>true</tt> if this attribute set contains the given * attribute. * * @param attribute value whose presence in this attribute set is * to be tested. * ! * @return <tt>true</tt> if this attribute set contains the given * attribute value. */ public boolean containsValue(Attribute attribute) { return attribute != null && --- 365,381 ---- verifyAttributeCategory(category, Attribute.class) != null && attrMap.get(category) != null; } /** ! * Returns {@code true} if this attribute set contains the given * attribute. * * @param attribute value whose presence in this attribute set is * to be tested. * ! * @return {@code true} if this attribute set contains the given * attribute value. */ public boolean containsValue(Attribute attribute) { return attribute != null &&
*** 387,414 **** * Adds all of the elements in the specified set to this attribute. * The outcome is the same as if the * {@link #add(Attribute) add(Attribute)} * operation had been applied to this attribute set successively with * each element from the specified set. ! * The behavior of the <CODE>addAll(AttributeSet)</CODE> * operation is unspecified if the specified set is modified while * the operation is in progress. * <P> ! * If the <CODE>addAll(AttributeSet)</CODE> 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 <tt>true</tt> if this attribute set changed as a result of the * call. * * @throws UnmodifiableSetException * (Unchecked exception) Thrown if this attribute set does not ! * support the <tt>addAll(AttributeSet)</tt> method. * @throws NullPointerException * (Unchecked exception) Thrown if some element in the specified * set is null, or the set is null. * * @see #add(Attribute) --- 387,414 ---- * Adds all of the elements in the specified set to this attribute. * The outcome is the same as if the * {@link #add(Attribute) add(Attribute)} * operation had been applied to this attribute set successively with * each element from the specified set. ! * The behavior of the {@code addAll(AttributeSet)} * operation is unspecified if the specified set is modified while * the operation is in progress. * <P> ! * If the {@code 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 {@code 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 {@code addAll(AttributeSet)} method. * @throws NullPointerException * (Unchecked exception) Thrown if some element in the specified * set is null, or the set is null. * * @see #add(Attribute)
*** 427,438 **** return result; } /** * Returns the number of attributes in this attribute set. If this ! * attribute set contains more than <tt>Integer.MAX_VALUE</tt> elements, ! * returns <tt>Integer.MAX_VALUE</tt>. * * @return The number of attributes in this attribute set. */ public int size() { return attrMap.size(); --- 427,438 ---- return result; } /** * Returns the number of attributes in this attribute set. If this ! * attribute set contains more than {@code Integer.MAX_VALUE} elements, ! * returns {@code Integer.MAX_VALUE}. * * @return The number of attributes in this attribute set. */ public int size() { return attrMap.size();
*** 453,463 **** /** * Removes all attributes from this attribute set. * * @throws UnmodifiableSetException * (unchecked exception) Thrown if this attribute set does not support ! * the <CODE>clear()</CODE> operation. */ public void clear() { attrMap.clear(); } --- 453,463 ---- /** * Removes all attributes from this attribute set. * * @throws UnmodifiableSetException * (unchecked exception) Thrown if this attribute set does not support ! * the {@code clear()} operation. */ public void clear() { attrMap.clear(); }
*** 470,488 **** return attrMap.isEmpty(); } /** * Compares the specified object with this attribute set for equality. ! * Returns <tt>true</tt> 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 ! * <tt>equals()</tt> method works properly across different * implementations of the AttributeSet interface. * * @param object to be compared for equality with this attribute set. * ! * @return <tt>true</tt> if the specified object is equal to this * attribute set. */ public boolean equals(Object object) { if (object == null || !(object instanceof AttributeSet)) { --- 470,488 ---- return attrMap.isEmpty(); } /** * Compares the specified object with this attribute set for equality. ! * Returns {@code 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 ! * {@code equals()} method works properly across different * implementations of the AttributeSet interface. * * @param object to be compared for equality with this attribute set. * ! * @return {@code true} if the specified object is equal to this * attribute set. */ public boolean equals(Object object) { if (object == null || !(object instanceof AttributeSet)) {
*** 505,517 **** /** * 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 <tt>t1.equals(t2)</tt> implies that ! * <tt>t1.hashCode()==t2.hashCode()</tt> for any two attribute sets ! * <tt>t1</tt> and <tt>t2</tt>, as required by the general contract of * {@link java.lang.Object#hashCode() Object.hashCode()}. * * @return The hash code value for this attribute set. */ public int hashCode() { --- 505,517 ---- /** * 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 {@code t1.equals(t2)} implies that ! * {@code t1.hashCode()==t2.hashCode()} for any two attribute sets ! * {@code t1} and {@code t2}, as required by the general contract of * {@link java.lang.Object#hashCode() Object.hashCode()}. * * @return The hash code value for this attribute set. */ public int hashCode() {
< prev index next >