summaryrefslogtreecommitdiff
path: root/javax/swing/text/StyleContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'javax/swing/text/StyleContext.java')
-rw-r--r--javax/swing/text/StyleContext.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/javax/swing/text/StyleContext.java b/javax/swing/text/StyleContext.java
index cbb6b0ee6..e2643a2aa 100644
--- a/javax/swing/text/StyleContext.java
+++ b/javax/swing/text/StyleContext.java
@@ -48,6 +48,7 @@ import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Enumeration;
import java.util.EventListener;
+import java.util.HashSet;
import java.util.Hashtable;
import javax.swing.event.ChangeEvent;
@@ -406,7 +407,12 @@ public class StyleContext
static StyleContext defaultStyleContext = new StyleContext();
static final int compressionThreshold = 9;
-
+
+ /**
+ * These attribute keys are handled specially in serialization.
+ */
+ private static HashSet staticAttributeKeys = new HashSet();
+
EventListenerList listenerList;
Hashtable styleTable;
@@ -737,4 +743,19 @@ public class StyleContext
{
throw new InternalError("not implemented");
}
+
+ /**
+ * Registers an attribute key as a well-known keys. When an attribute with
+ * such a key is written to a stream,, a special syntax is used so that it
+ * can be recognized when it is read back in. All attribute keys defined
+ * in <code>StyleContext</code> are registered as static keys. If you define
+ * additional attribute keys that you want to exist as nonreplicated objects,
+ * then you should register them using this method.
+ *
+ * @param key the key to register as static attribute key
+ */
+ public static void registerStaticAttributeKey(Object key)
+ {
+ staticAttributeKeys.add(key);
+ }
}