Module java.desktop
Package javax.swing.text

## Interface MutableAttributeSet

All Superinterfaces:
  AttributeSet

All Known Subinterfaces:
  Style

All Known Implementing Classes:
  AbstractDocument.AbstractElement, AbstractDocument.BranchElement, AbstractDocument.LeafElement, DefaultStyledDocument.SectionElement, HTMLDocument.BlockElement, HTMLDocument.RunElement, SimpleAttributeSet, StyleContext.NamedStyle

    public interface MutableAttributeSet
    extends AttributeSet

A generic interface for a mutable collection of unique attributes. Implementations will probably want to provide a constructor of the form:

     public XXXAttributeSet(ConstAttributeSet source);

### Nested Class Summary

### Nested classes/interfaces inherited from interface javax.swing.text.AttributeSet

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

### Field Summary

### Fields inherited from interface javax.swing.text.AttributeSet

`NameAttribute, ResolveAttribute`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addAttribute(Object name, Object value)` Creates a new attribute set similar to this one except that it contains an attribute with the given name and value.
`void` `addAttributes(AttributeSet attributes)` Creates a new attribute set similar to this one except that it contains the given attributes and values.
`void` `removeAttribute(Object name)` Removes an attribute with the given `name`.
`void` `removeAttributes(Enumeration<?> names)` Removes an attribute set with the given `names`.
`void` `removeAttributes(AttributeSet attributes)` Removes a set of attributes with the given `name`.
`void` `setResolveParent(AttributeSet parent)` Sets the resolving parent.

### Methods inherited from interface javax.swing.text.AttributeSet

`containsAttribute, containsAttributes, copyAttributes, getAttribute, getAttributeCount, getAttributeNames, getResolveParent, isDefined, isEqual`

### Method Detail

#### addAttribute

    void addAttribute(Object name,
                      Object value)

Creates a new attribute set similar to this one except that it contains an attribute with the given name and value. The object must be immutable, or not mutated by any client.

Parameters:
  `name` - the name
  `value` - the value

#### addAttributes

    void addAttributes(AttributeSet attributes)

Creates a new attribute set similar to this one except that it contains the given attributes and values.

Parameters:
  `attributes` - the set of attributes

#### removeAttribute

    void removeAttribute(Object name)

Removes an attribute with the given `name`.

Parameters:
  `name` - the attribute name

#### removeAttributes

    void removeAttributes(Enumeration<?> names)

Removes an attribute set with the given `names`.

Parameters:
  `names` - the set of names

#### removeAttributes

    void removeAttributes(AttributeSet attributes)

Removes a set of attributes with the given `name`.

Parameters:
  `attributes` - the set of attributes

#### setResolveParent

    void setResolveParent(AttributeSet parent)

Sets the resolving parent. This is the set of attributes to resolve through if an attribute isn't defined locally.

Parameters:
  `parent` - the parent