KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > xml > fastinfoset > vocab > SerializerVocabulary


1 /*
2  * Fast Infoset ver. 0.1 software ("Software")
3  *
4  * Copyright, 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
5  *
6  * Software is licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License. You may
8  * obtain a copy of the License at:
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15  * License for the specific language governing permissions and limitations.
16  *
17  * Sun supports and benefits from the global community of open source
18  * developers, and thanks the community for its important contributions and
19  * open standards-based technology, which Sun has adopted into many of its
20  * products.
21  *
22  * Please note that portions of Software may be provided with notices and
23  * open source licenses from such communities and third parties that govern the
24  * use of those portions, and any licenses granted hereunder do not alter any
25  * rights and obligations you may have under such open source licenses,
26  * however, the disclaimer of warranty and limitation of liability provisions
27  * in this License will apply to all Software in this distribution.
28  *
29  * You acknowledge that the Software is not designed, licensed or intended
30  * for use in the design, construction, operation or maintenance of any nuclear
31  * facility.
32  *
33  * Apache License
34  * Version 2.0, January 2004
35  * http://www.apache.org/licenses/
36  *
37  */

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 JavaDoc;
49 import org.jvnet.fastinfoset.FastInfosetSerializer;
50
51 public class SerializerVocabulary extends Vocabulary {
52     /*
53     public final static int ATTRIBUTE_VALUE_SIZE_CONSTRAINT = 7;
54     public final static int CHARACTER_CONTENT_CHUNK_SIZE_CONSTRAINT = 7;
55     */

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     /*
76     public int attributeValueSizeConstraint = FastInfosetSerializer.ATTRIBUTE_VALUE_SIZE_CONSTRAINT;
77     public int characterContentChunkSizeContraint = FastInfosetSerializer.CHARACTER_CONTENT_CHUNK_SIZE_CONSTRAINT;
78     */

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 JavaDoc 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