1 38 39 40 package com.sun.xml.fastinfoset.vocab; 41 42 import com.sun.xml.fastinfoset.EncodingConstants; 43 import com.sun.xml.fastinfoset.util.CharArrayIntMap; 44 import com.sun.xml.fastinfoset.util.FixedEntryStringIntMap; 45 import com.sun.xml.fastinfoset.util.KeyIntMap; 46 import com.sun.xml.fastinfoset.util.LocalNameQualifiedNamesMap; 47 import com.sun.xml.fastinfoset.util.StringIntMap; 48 import java.net.URI ; 49 import org.jvnet.fastinfoset.FastInfosetSerializer; 50 51 public class SerializerVocabulary extends Vocabulary { 52 56 57 public final StringIntMap restrictedAlphabet; 58 public final StringIntMap encodingAlgorithm; 59 60 public final StringIntMap namespaceName; 61 public final StringIntMap prefix; 62 public final StringIntMap localName; 63 public final StringIntMap otherNCName; 64 public final StringIntMap otherURI; 65 public final StringIntMap attributeValue; 66 public final CharArrayIntMap otherString; 67 68 public final CharArrayIntMap characterContentChunk; 69 70 public final LocalNameQualifiedNamesMap elementName; 71 public final LocalNameQualifiedNamesMap attributeName; 72 73 public final KeyIntMap[] tables = new KeyIntMap[12]; 74 75 79 80 protected SerializerVocabulary _readOnlyVocabulary; 81 82 public SerializerVocabulary() { 83 tables[RESTRICTED_ALPHABET] = restrictedAlphabet = new StringIntMap(4); 84 tables[ENCODING_ALGORITHM] = encodingAlgorithm = new StringIntMap(4); 85 tables[PREFIX] = prefix = new FixedEntryStringIntMap(EncodingConstants.XML_NAMESPACE_PREFIX, 8); 86 tables[NAMESPACE_NAME] = namespaceName = new FixedEntryStringIntMap(EncodingConstants.XML_NAMESPACE_NAME, 8); 87 tables[LOCAL_NAME] = localName = new StringIntMap(); 88 tables[OTHER_NCNAME] = otherNCName = new StringIntMap(4); 89 tables[OTHER_URI] = otherURI = new StringIntMap(4); 90 tables[ATTRIBUTE_VALUE] = attributeValue = new StringIntMap(); 91 tables[OTHER_STRING] = otherString = new CharArrayIntMap(4); 92 tables[CHARACTER_CONTENT_CHUNK] = characterContentChunk = new CharArrayIntMap(); 93 tables[ELEMENT_NAME] = elementName = new LocalNameQualifiedNamesMap(); 94 tables[ATTRIBUTE_NAME] = attributeName = new LocalNameQualifiedNamesMap(); 95 } 96 97 public SerializerVocabulary getReadOnlyVocabulary() { 98 return _readOnlyVocabulary; 99 } 100 101 protected void setReadOnlyVocabulary(SerializerVocabulary readOnlyVocabulary, boolean clear) { 102 for (int i = 0; i < tables.length; i++) { 103 tables[i].setReadOnlyMap(readOnlyVocabulary.tables[i], clear); 104 } 105 } 106 107 public void setInitialVocabulary(SerializerVocabulary initialVocabulary, boolean clear) { 108 setExternalVocabularyURI(null); 109 setInitialReadOnlyVocabulary(true); 110 setReadOnlyVocabulary(initialVocabulary, clear); 111 } 112 113 public void setExternalVocabulary(URI externalVocabularyURI, SerializerVocabulary externalVocabulary, boolean clear) { 114 setInitialReadOnlyVocabulary(false); 115 setExternalVocabularyURI(externalVocabularyURI); 116 setReadOnlyVocabulary(externalVocabulary, clear); 117 } 118 119 public void clear() { 120 for (int i = 0; i < tables.length; i++) { 121 tables[i].clear(); 122 } 123 } 124 } 125 | Popular Tags |