View Javadoc
1   /*
2    * Copyright (c) 1997, 2000, Oracle and/or its affiliates. All rights reserved.
3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4    *
5    * This code is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU General Public License version 2 only, as
7    * published by the Free Software Foundation.  Oracle designates this
8    * particular file as subject to the "Classpath" exception as provided
9    * by Oracle in the LICENSE file that accompanied this code.
10   *
11   * This code is distributed in the hope that it will be useful, but WITHOUT
12   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14   * version 2 for more details (a copy is included in the LICENSE file that
15   * accompanied this code).
16   *
17   * You should have received a copy of the GNU General Public License version
18   * 2 along with this work; if not, write to the Free Software Foundation,
19   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20   *
21   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22   * or visit www.oracle.com if you need additional information or have any
23   * questions.
24   */
25  package javax.swing.text;
26  
27  import java.awt.Component;
28  import javax.swing.event.ChangeListener;
29  import javax.swing.event.ChangeEvent;
30  
31  import java.util.Enumeration;
32  import java.util.Hashtable;
33  
34  
35  
36  /**
37   * A collection of attributes to associate with an element in a document.
38   * Since these are typically used to associate character and paragraph
39   * styles with the element, operations for this are provided.  Other
40   * customized attributes that get associated with the element will
41   * effectively be name-value pairs that live in a hierarchy and if a name
42   * (key) is not found locally, the request is forwarded to the parent.
43   * Commonly used attributes are separated out to facilitate alternative
44   * implementations that are more efficient.
45   *
46   * @author  Timothy Prinzing
47   */
48  public interface Style extends MutableAttributeSet {
49  
50      /**
51       * Fetches the name of the style.   A style is not required to be named,
52       * so <code>null</code> is returned if there is no name
53       * associated with the style.
54       *
55       * @return the name
56       */
57      public String getName();
58  
59      /**
60       * Adds a listener to track whenever an attribute
61       * has been changed.
62       *
63       * @param l the change listener
64       */
65      public void addChangeListener(ChangeListener l);
66  
67      /**
68       * Removes a listener that was tracking attribute changes.
69       *
70       * @param l the change listener
71       */
72      public void removeChangeListener(ChangeListener l);
73  
74  
75  }