A collection of unique attributes. This is a read-only, immutable interface. An attribute is basically a key and a value assigned to the key. The collection may represent something like a style run, a logical style, etc. These are generally used to describe features that will contribute to some graphical representation such as a font. The set of possible keys is unbounded and can be anything. Typically View implementations will respond to attribute definitions and render something to represent the attributes.

Attributes can potentially resolve in a hierarchy. If a key doesn't resolve locally, and a resolving parent exists, the key will be resolved through the parent.

@author
Timothy Prinzing
@version
1.40 05/05/04
Attribute name used to name the collection of attributes.
Attribute name used to identify the resolving parent set of attributes, if one is defined.
Returns true if this set contains this attribute with an equal value.
Parameters
namethe non-null attribute name
valuethe value
Return
true if the set contains the attribute with an equal value
Returns true if this set contains all the attributes with equal values.
Parameters
attributesthe set of attributes to check against
Return
true if this set contains all the attributes with equal values
Returns an attribute set that is guaranteed not to change over time.
Return
a copy of the attribute set
Fetches the value of the given attribute. If the value is not found locally, the search is continued upward through the resolving parent (if one exists) until the value is either found or there are no more parents. If the value is not found, null is returned.
Parameters
keythe non-null key of the attribute binding
Return
the value
Returns the number of attributes contained in this set.
Return
the number of attributes >= 0
Returns an enumeration over the names of the attributes in the set. The values of the Enumeration may be anything and are not constrained to a particular Object type. The set does not include the resolving parent, if one is defined.
Return
the names
Gets the resolving parent.
Return
the parent
Checks whether the named attribute has a value specified in the set without resolving through another attribute set.
Parameters
attrNamethe attribute name
Return
true if the attribute has a value specified
Determines if the two attribute sets are equivalent.
Parameters
attran attribute set
Return
true if the sets are equivalent