Module java.desktop
Package javax.swing.text

## Class StyleContext.NamedStyle

- java.lang.Object
- - javax.swing.text.StyleContext.NamedStyle

- All Implemented Interfaces:
    `Serializable`, `AttributeSet`, `MutableAttributeSet`, `Style`
  Enclosing class:
    StyleContext

      public class StyleContext.NamedStyle
      extends Object
      implements Style, Serializable

  A collection of attributes, typically used to represent character and paragraph styles. This is an implementation of MutableAttributeSet that can be observed if desired. These styles will take advantage of immutability while the sets are small enough, and may be substantially more efficient than something like SimpleAttributeSet.

  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
    --- | --- | ---
    `protected ChangeEvent` | `changeEvent` | Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property.
    `protected EventListenerList` | `listenerList` | The change listeners for the model.

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

      `NameAttribute, ResolveAttribute`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NamedStyle()` | Creates a new named style, with a null name and parent.
    `NamedStyle​(String name, Style parent)` | Creates a new named style.
    `NamedStyle​(Style parent)` | Creates a new named style.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addAttribute​(Object name, Object value)` | Adds an attribute.
    `void` | `addAttributes​(AttributeSet attr)` | Adds a set of attributes to the element.
    `void` | `addChangeListener​(ChangeListener l)` | Adds a change listener.
    `boolean` | `containsAttribute​(Object name, Object value)` | Checks whether a given attribute name/value is defined.
    `boolean` | `containsAttributes​(AttributeSet attrs)` | Checks whether the element contains all the attributes.
    `AttributeSet` | `copyAttributes()` | Copies a set of attributes.
    `protected void` | `fireStateChanged()` | Notifies all listeners that have registered interest for notification on this event type.
    `Object` | `getAttribute​(Object attrName)` | Gets the value of an attribute.
    `int` | `getAttributeCount()` | Gets the number of attributes that are defined.
    `Enumeration<?>` | `getAttributeNames()` | Gets the names of all attributes.
    `ChangeListener[]` | `getChangeListeners()` | Returns an array of all the `ChangeListener`s added to this NamedStyle with addChangeListener().
    `<T extends EventListener> T[]` | `getListeners​(Class<T> listenerType)` | Return an array of all the listeners of the given type that were added to this model.
    `String` | `getName()` | Fetches the name of the style.
    `AttributeSet` | `getResolveParent()` | Gets attributes from the parent.
    `boolean` | `isDefined​(Object attrName)` | Checks whether a given attribute is defined.
    `boolean` | `isEqual​(AttributeSet attr)` | Checks whether two attribute sets are equal.
    `void` | `removeAttribute​(Object name)` | Removes an attribute from the set.
    `void` | `removeAttributes​(Enumeration<?> names)` | Removes a set of attributes for the element.
    `void` | `removeAttributes​(AttributeSet attrs)` | Removes a set of attributes for the element.
    `void` | `removeChangeListener​(ChangeListener l)` | Removes a change listener.
    `void` | `setName​(String name)` | Changes the name of the style.
    `void` | `setResolveParent​(AttributeSet parent)` | Sets the resolving parent.
    `String` | `toString()` | Converts the style to a string.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### listenerList

          protected EventListenerList listenerList

      The change listeners for the model.

    - #### changeEvent

          protected transient ChangeEvent changeEvent

      Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property. The source of events generated here is always "this".

  - ### Constructor Detail

    - #### NamedStyle

          public NamedStyle​(String name,
                            Style parent)

      Creates a new named style.
      Parameters:
        `name` - the style name, null for unnamed
        `parent` - the parent style, null if none
      Since:
        1.4

    - #### NamedStyle

          public NamedStyle​(Style parent)

      Creates a new named style.
      Parameters:
        `parent` - the parent style, null if none
      Since:
        1.4

    - #### NamedStyle

          public NamedStyle()

      Creates a new named style, with a null name and parent.

  - ### Method Detail

    - #### toString

          public String toString()

      Converts the style to a string.
      Overrides:
        `toString` in class `Object`
      Returns:
        the string

    - #### getName

          public String getName()

      Fetches the name of the style. A style is not required to be named, so null is returned if there is no name associated with the style.
      Specified by:
        `getName` in interface `Style`
      Returns:
        the name

    - #### setName

          public void setName​(String name)

      Changes the name of the style. Does nothing with a null name.
      Parameters:
        `name` - the new name

    - #### addChangeListener

          public void addChangeListener​(ChangeListener l)

      Adds a change listener.
      Specified by:
        `addChangeListener` in interface `Style`
      Parameters:
        `l` - the change listener

    - #### removeChangeListener

          public void removeChangeListener​(ChangeListener l)

      Removes a change listener.
      Specified by:
        `removeChangeListener` in interface `Style`
      Parameters:
        `l` - the change listener

    - #### getChangeListeners

          public ChangeListener[] getChangeListeners()

      Returns an array of all the `ChangeListener`s added to this NamedStyle with addChangeListener().
      Returns:
        all of the `ChangeListener`s added or an empty array if no listeners have been added
      Since:
        1.4

    - #### fireStateChanged

          protected void fireStateChanged()

      Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
      See Also:
        `EventListenerList`

    - #### getListeners

          public <T extends EventListener> T[] getListeners​(Class<T> listenerType)

      Return an array of all the listeners of the given type that were added to this model.
      Type Parameters:
        `T` - the listener type
      Parameters:
        `listenerType` - the type of listeners requested
      Returns:
        all of the objects receiving listenerType notifications from this model
      Since:
        1.3

    - #### getAttributeCount

          public int getAttributeCount()

      Gets the number of attributes that are defined.
      Specified by:
        `getAttributeCount` in interface `AttributeSet`
      Returns:
        the number of attributes >= 0
      See Also:
        `AttributeSet.getAttributeCount()`

    - #### isDefined

          public boolean isDefined​(Object attrName)

      Checks whether a given attribute is defined.
      Specified by:
        `isDefined` in interface `AttributeSet`
      Parameters:
        `attrName` - the non-null attribute name
      Returns:
        true if the attribute is defined
      See Also:
        `AttributeSet.isDefined(java.lang.Object)`

    - #### isEqual

          public boolean isEqual​(AttributeSet attr)

      Checks whether two attribute sets are equal.
      Specified by:
        `isEqual` in interface `AttributeSet`
      Parameters:
        `attr` - the attribute set to check against
      Returns:
        true if the same
      See Also:
        `AttributeSet.isEqual(javax.swing.text.AttributeSet)`

    - #### copyAttributes

          public AttributeSet copyAttributes()

      Copies a set of attributes.
      Specified by:
        `copyAttributes` in interface `AttributeSet`
      Returns:
        the copy
      See Also:
        `AttributeSet.copyAttributes()`

    - #### getAttribute

          public Object getAttribute​(Object attrName)

      Gets the value of an attribute.
      Specified by:
        `getAttribute` in interface `AttributeSet`
      Parameters:
        `attrName` - the non-null attribute name
      Returns:
        the attribute value
      See Also:
        `AttributeSet.getAttribute(java.lang.Object)`

    - #### getAttributeNames

          public Enumeration<?> getAttributeNames()

      Gets the names of all attributes.
      Specified by:
        `getAttributeNames` in interface `AttributeSet`
      Returns:
        the attribute names as an enumeration
      See Also:
        `AttributeSet.getAttributeNames()`

    - #### containsAttribute

          public boolean containsAttribute​(Object name,
                                           Object value)

      Checks whether a given attribute name/value is defined.
      Specified by:
        `containsAttribute` in interface `AttributeSet`
      Parameters:
        `name` - the non-null attribute name
        `value` - the attribute value
      Returns:
        true if the name/value is defined
      See Also:
        `AttributeSet.containsAttribute(java.lang.Object, java.lang.Object)`

    - #### containsAttributes

          public boolean containsAttributes​(AttributeSet attrs)

      Checks whether the element contains all the attributes.
      Specified by:
        `containsAttributes` in interface `AttributeSet`
      Parameters:
        `attrs` - the attributes to check
      Returns:
        true if the element contains all the attributes
      See Also:
        `AttributeSet.containsAttributes(javax.swing.text.AttributeSet)`

    - #### getResolveParent

          public AttributeSet getResolveParent()

      Gets attributes from the parent. If not overriden, the resolving parent defaults to the parent element.
      Specified by:
        `getResolveParent` in interface `AttributeSet`
      Returns:
        the attributes from the parent
      See Also:
        `AttributeSet.getResolveParent()`

    - #### addAttribute

          public void addAttribute​(Object name,
                                   Object value)

      Adds an attribute.
      Specified by:
        `addAttribute` in interface `MutableAttributeSet`
      Parameters:
        `name` - the non-null attribute name
        `value` - the attribute value
      See Also:
        `MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)`

    - #### addAttributes

          public void addAttributes​(AttributeSet attr)

      Adds a set of attributes to the element.
      Specified by:
        `addAttributes` in interface `MutableAttributeSet`
      Parameters:
        `attr` - the attributes to add
      See Also:
        `MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)`

    - #### removeAttribute

          public void removeAttribute​(Object name)

      Removes an attribute from the set.
      Specified by:
        `removeAttribute` in interface `MutableAttributeSet`
      Parameters:
        `name` - the non-null attribute name
      See Also:
        `MutableAttributeSet.removeAttribute(java.lang.Object)`

    - #### removeAttributes

          public void removeAttributes​(Enumeration<?> names)

      Removes a set of attributes for the element.
      Specified by:
        `removeAttributes` in interface `MutableAttributeSet`
      Parameters:
        `names` - the attribute names
      See Also:
        `MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)`

    - #### removeAttributes

          public void removeAttributes​(AttributeSet attrs)

      Removes a set of attributes for the element.
      Specified by:
        `removeAttributes` in interface `MutableAttributeSet`
      Parameters:
        `attrs` - the attributes
      See Also:
        `MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)`

    - #### setResolveParent

          public void setResolveParent​(AttributeSet parent)

      Sets the resolving parent.
      Specified by:
        `setResolveParent` in interface `MutableAttributeSet`
      Parameters:
        `parent` - the parent, null if none
      See Also:
        `MutableAttributeSet.setResolveParent(javax.swing.text.AttributeSet)`