/*
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package javax.swing.text;
import java.util.
Enumeration;
/**
* A generic interface for a mutable collection of unique attributes.
*
* Implementations will probably want to provide a constructor of the
* form:<tt>
* public XXXAttributeSet(ConstAttributeSet source);</tt>
*
*/
public interface
MutableAttributeSet extends
AttributeSet {
/**
* 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.
*
* @param name the name
* @param value the value
*/
public void
addAttribute(
Object name,
Object value);
/**
* Creates a new attribute set similar to this one except that it contains
* the given attributes and values.
*
* @param attributes the set of attributes
*/
public void
addAttributes(
AttributeSet attributes);
/**
* Removes an attribute with the given <code>name</code>.
*
* @param name the attribute name
*/
public void
removeAttribute(
Object name);
/**
* Removes an attribute set with the given <code>names</code>.
*
* @param names the set of names
*/
public void
removeAttributes(
Enumeration<?>
names);
/**
* Removes a set of attributes with the given <code>name</code>.
*
* @param attributes the set of attributes
*/
public void
removeAttributes(
AttributeSet attributes);
/**
* Sets the resolving parent. This is the set
* of attributes to resolve through if an attribute
* isn't defined locally.
*
* @param parent the parent
*/
public void
setResolveParent(
AttributeSet parent);
}