Module java.desktop
Package javax.swing.text

## Class SimpleAttributeSet

- java.lang.Object
- - javax.swing.text.SimpleAttributeSet

- All Implemented Interfaces:
    `Serializable`, `Cloneable`, `AttributeSet`, `MutableAttributeSet`

      public class SimpleAttributeSet
      extends Object
      implements MutableAttributeSet, Serializable, Cloneable

  A straightforward implementation of MutableAttributeSet using a hash table.

  Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the `java.beans` package. Please see `XMLEncoder`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces declared in interface javax.swing.text.AttributeSet

      `AttributeSet.CharacterAttribute, AttributeSet.ColorAttribute, AttributeSet.FontAttribute, AttributeSet.ParagraphAttribute`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static AttributeSet` | `EMPTY` | An empty attribute set.

    - ### Fields declared in interface javax.swing.text.AttributeSet

      `NameAttribute, ResolveAttribute`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SimpleAttributeSet()` | Creates a new attribute set.
    `SimpleAttributeSet​(AttributeSet source)` | Creates a new attribute set based on a supplied set of attributes.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addAttribute​(Object name, Object value)` | Adds an attribute to the list.
    `void` | `addAttributes​(AttributeSet attributes)` | Adds a set of attributes to the list.
    `Object` | `clone()` | Clones a set of attributes.
    `boolean` | `containsAttribute​(Object name, Object value)` | Checks whether the attribute list contains a specified attribute name/value pair.
    `boolean` | `containsAttributes​(AttributeSet attributes)` | Checks whether the attribute list contains all the specified name/value pairs.
    `AttributeSet` | `copyAttributes()` | Makes a copy of the attributes.
    `boolean` | `equals​(Object obj)` | Compares this object to the specified object.
    `Object` | `getAttribute​(Object name)` | Gets the value of an attribute.
    `int` | `getAttributeCount()` | Gets a count of the number of attributes.
    `Enumeration<?>` | `getAttributeNames()` | Gets the names of the attributes in the set.
    `AttributeSet` | `getResolveParent()` | Gets the resolving parent.
    `int` | `hashCode()` | Returns a hashcode for this set of attributes.
    `boolean` | `isDefined​(Object attrName)` | Tells whether a given attribute is defined.
    `boolean` | `isEmpty()` | Checks whether the set of attributes is empty.
    `boolean` | `isEqual​(AttributeSet attr)` | Compares two attribute sets.
    `void` | `removeAttribute​(Object name)` | Removes an attribute from the list.
    `void` | `removeAttributes​(Enumeration<?> names)` | Removes a set of attributes from the list.
    `void` | `removeAttributes​(AttributeSet attributes)` | Removes a set of attributes from the list.
    `void` | `setResolveParent​(AttributeSet parent)` | Sets the resolving parent.
    `String` | `toString()` | Converts the attribute set to a String.

    - ### Methods declared in class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### EMPTY

          public static final AttributeSet EMPTY

      An empty attribute set.

  - ### Constructor Detail

    - #### SimpleAttributeSet

          public SimpleAttributeSet()

      Creates a new attribute set.

    - #### SimpleAttributeSet

          public SimpleAttributeSet​(AttributeSet source)

      Creates a new attribute set based on a supplied set of attributes.
      Parameters:
        `source` - the set of attributes

  - ### Method Detail

    - #### isEmpty

          public boolean isEmpty()

      Checks whether the set of attributes is empty.
      Returns:
        true if the set is empty else false

    - #### getAttributeCount

          public int getAttributeCount()

      Gets a count of the number of attributes.
      Specified by:
        `getAttributeCount` in interface `AttributeSet`
      Returns:
        the count

    - #### isDefined

          public boolean isDefined​(Object attrName)

      Tells whether a given attribute is defined.
      Specified by:
        `isDefined` in interface `AttributeSet`
      Parameters:
        `attrName` - the attribute name
      Returns:
        true if the attribute is defined

    - #### isEqual

          public boolean isEqual​(AttributeSet attr)

      Compares two attribute sets.
      Specified by:
        `isEqual` in interface `AttributeSet`
      Parameters:
        `attr` - the second attribute set
      Returns:
        true if the sets are equal, false otherwise

    - #### copyAttributes

          public AttributeSet copyAttributes()

      Makes a copy of the attributes.
      Specified by:
        `copyAttributes` in interface `AttributeSet`
      Returns:
        the copy

    - #### getAttributeNames

          public Enumeration<?> getAttributeNames()

      Gets the names of the attributes in the set.
      Specified by:
        `getAttributeNames` in interface `AttributeSet`
      Returns:
        the names as an `Enumeration`

    - #### getAttribute

          public Object getAttribute​(Object name)

      Gets the value of an attribute.
      Specified by:
        `getAttribute` in interface `AttributeSet`
      Parameters:
        `name` - the attribute name
      Returns:
        the value

    - #### containsAttribute

          public boolean containsAttribute​(Object name,
                                           Object value)

      Checks whether the attribute list contains a specified attribute name/value pair.
      Specified by:
        `containsAttribute` in interface `AttributeSet`
      Parameters:
        `name` - the name
        `value` - the value
      Returns:
        true if the name/value pair is in the list

    - #### containsAttributes

          public boolean containsAttributes​(AttributeSet attributes)

      Checks whether the attribute list contains all the specified name/value pairs.
      Specified by:
        `containsAttributes` in interface `AttributeSet`
      Parameters:
        `attributes` - the attribute list
      Returns:
        true if the list contains all the name/value pairs

    - #### addAttribute

          public void addAttribute​(Object name,
                                   Object value)

      Adds an attribute to the list.
      Specified by:
        `addAttribute` in interface `MutableAttributeSet`
      Parameters:
        `name` - the attribute name
        `value` - the attribute value

    - #### addAttributes

          public void addAttributes​(AttributeSet attributes)

      Adds a set of attributes to the list.
      Specified by:
        `addAttributes` in interface `MutableAttributeSet`
      Parameters:
        `attributes` - the set of attributes to add

    - #### removeAttribute

          public void removeAttribute​(Object name)

      Removes an attribute from the list.
      Specified by:
        `removeAttribute` in interface `MutableAttributeSet`
      Parameters:
        `name` - the attribute name

    - #### removeAttributes

          public void removeAttributes​(Enumeration<?> names)

      Removes a set of attributes from the list.
      Specified by:
        `removeAttributes` in interface `MutableAttributeSet`
      Parameters:
        `names` - the set of names to remove

    - #### removeAttributes

          public void removeAttributes​(AttributeSet attributes)

      Removes a set of attributes from the list.
      Specified by:
        `removeAttributes` in interface `MutableAttributeSet`
      Parameters:
        `attributes` - the set of attributes to remove

    - #### getResolveParent

          public AttributeSet getResolveParent()

      Gets the resolving parent. This is the set of attributes to resolve through if an attribute isn't defined locally. This is null if there are no other sets of attributes to resolve through.
      Specified by:
        `getResolveParent` in interface `AttributeSet`
      Returns:
        the parent

    - #### setResolveParent

          public void setResolveParent​(AttributeSet parent)

      Sets the resolving parent.
      Specified by:
        `setResolveParent` in interface `MutableAttributeSet`
      Parameters:
        `parent` - the parent

    - #### clone

          public Object clone()

      Clones a set of attributes.
      Overrides:
        `clone` in class `Object`
      Returns:
        the new set of attributes
      See Also:
        `Cloneable`

    - #### hashCode

          public int hashCode()

      Returns a hashcode for this set of attributes.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hashcode value for this set of attributes.
      See Also:
        `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

    - #### equals

          public boolean equals​(Object obj)

      Compares this object to the specified object. The result is `true` if the object is an equivalent set of attributes.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the object to compare this attribute set with
      Returns:
        `true` if the objects are equal; `false` otherwise
      See Also:
        `Object.hashCode()`, `HashMap`

    - #### toString

          public String toString()

      Converts the attribute set to a String.
      Overrides:
        `toString` in class `Object`
      Returns:
        the string