TextBuilders that
are used to create efficient semi-shared value Strings.
| Modifier and Type | Field and Description |
|---|---|
| protected static final int | EXP_ATTR_COUNT
Expected typical maximum number of attributes for any element; chosen to minimize need to resize, while trying not to waste space. |
| protected static final int | |
| protected static final int | |
| protected static final int | LONG_ATTR_LIST_LEN
Threshold value that indicates minimum length for lists instances that need a Map structure, for fast attribute access by fully-qualified name. |
| protected int | mAttrCount
Actual number of attributes collected, including attributes added via default values. |
| protected int | mAttrHashSize
Size of hash area in |
| protected Attribute[] | mAttributes
Array of attributes collected for this element. |
| protected int[] | mAttrMap
Encoding of a data structure that contains mapping from attribute names to attribute index in main attribute name arrays. |
| protected int | mAttrSpillEnd
Pointer to int slot right after last spill entr, in
|
| protected boolean | mDefaultNsDeclared
Flag to indicate whether the default namespace has already been declared for the current element. |
| protected int | |
| private final TextBuilder | mNamespaceBuilder
TextBuilder into which values of namespace URIs are added (including URI for the default namespace, if one defined). |
| protected Attribute[] | mNamespaces
Array of namespace declaration attributes collected for this element; not used in non-namespace-aware mode |
| protected int | mNonDefCount
Number of attribute values actually parsed, not including ones created via default value expansion. |
| protected int | mNsCount
Number of valid namespace declarations in |
| protected TextBuilder | mValueBuilder
TextBuilder into which values of all attributes are appended to, including default valued ones (defaults are added after explicit ones). |
| protected int | mXmlIdAttrIndex
Index of "xml:id" attribute, if one exists for the current
element; |
| protected final String | |
| protected final String | |
| protected static final InternCache | |
| protected static final int | XMLID_IX_DISABLED
This value is used to indicate that we shouldn't keep track of index of xml:id attribute -- generally done when Xml:id support is disabled |
| protected static final int |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public int | Returns: Index of the newly added attribute, if added; -1 to indicate this was a duplicateMethod called by validator to insert an attribute that has a default value and wasn't yet included in collector's attribute set. |
| protected final void | |
| public ElemAttrs | buildAttrOb()
Method needed by event creating code, to build a non-transient attribute container, to use with XMLEvent objects (specifically implementation of StartElement event). |
| private static final boolean | checkExpand(TypedArrayDecoder tad)
Internal method used to see if we can expand the buffer that the array decoder has. |
| public final byte[] | |
| public final void | decodeValue(int index, TypedValueDecoder tvd)
Method called to decode the whole attribute value as a single typed value. |
| public final int | Returns: Number of tokens decodedMethod called to decode the attribute value that consists of zero or more space-separated tokens. |
| private static final int | decodeValues(TypedArrayDecoder tad, InputProblemReporter rep, final char[] buf, int ptr, final int end)
|
| public int | |
| public int | |
| public final TextBuilder | getAttrBuilder(String attrPrefix, String attrLocalName)
Low-level accessor method that attribute validation code may call for certain types of attributes; generally only for id and idref/idrefs attributes. |
| public final int | |
| public TextBuilder | Returns: null if the default namespace URI has been already declared for the current element; TextBuilder to add URI to if not.
|
| public String | |
| public int | |
| public TextBuilder | Returns: null if prefix has been already declared; TextBuilder to add value to if not.
|
| protected int | Returns: Number of namespace declarations collected, including possible default namespace declaration
|
| public String | |
| public String | |
| public String | |
| public QName | |
| protected char[] | |
| public int | Returns: Number of attributes that were explicitly specified; may be less than the total count due to attributes created using attribute default values
|
| public String | |
| public final String | getValue(int index)
Note the main reason this method is defined at this level, and made final, is performance. |
| public String | |
| public String | getValueByLocalName(String localName)
Specialized version in which namespace information is completely ignored. |
| protected int | getValueStartOffset(int index)
Method for getting start pointer within shared value buffer for given attribute. |
| public final int | |
| public boolean | |
| private void | initHashArea()
Method called to ensure hash area will be properly set up in cases where initially no room was needed, but default attribute(s) is being added. |
| public final boolean | |
| public void | normalizeSpacesInValue(int index)
Method that can be called to force space normalization (remove leading/trailing spaces, replace non-spaces white space with spaces, collapse spaces to one) on specified attribute. |
| public void | reset()
Method called to allow reusing of collector, usually right before starting collecting attributes for a new start tag. |
| protected Attribute | Returns: Attribute that contains specified namespace declarationMethod called to resolve and initialize specified collected namespace declaration |
| public int | Returns: Index of xml:id attribute, if any, -1 if notReporter to use for reporting well-formedness problems rep, StringVector Namespace prefix/URI mappings active for this element ns)Method called to resolve namespace URIs from attribute prefixes. |
| public void | |
| public final void | setNormalizedValue(int index, String value)
Low-level mutator method that attribute validation code may call for certain types of attributes, when it wants to handle the whole validation and normalization process by itself. |
| private int[] | |
| protected void | throwDupAttr(InputProblemReporter rep, int index)
Method that can be used to get the specified attribute value, by getting it written using Writer passed in. Can potentially save one String allocation, since no (temporary) Strings need to be created. |
| protected void | |
| protected void | |
| public void | |
| public void | writeAttribute(int index, XmlWriter xw, XMLValidator validator)
Method that basically serializes the specified (read-in) attribute using Writers provided. |
| EXP_ATTR_COUNT | back to summary |
|---|---|
| protected static final int EXP_ATTR_COUNT Expected typical maximum number of attributes for any element; chosen to minimize need to resize, while trying not to waste space. Dynamically grown; better not to set too high to avoid excessive overhead for small attribute-less documents. | |
| EXP_NS_COUNT | back to summary |
|---|---|
| protected static final int EXP_NS_COUNT | |
| INT_SPACE | back to summary |
|---|---|
| protected static final int INT_SPACE | |
| LONG_ATTR_LIST_LEN | back to summary |
|---|---|
| protected static final int LONG_ATTR_LIST_LEN Threshold value that indicates minimum length for lists instances that need a Map structure, for fast attribute access by fully-qualified name. | |
| mAttrCount | back to summary |
|---|---|
| protected int mAttrCount Actual number of attributes collected, including attributes added via default values. | |
| mAttrHashSize | back to summary |
|---|---|
| protected int mAttrHashSize Size of hash area in | |
| mAttributes | back to summary |
|---|---|
| protected Attribute[] mAttributes Array of attributes collected for this element. | |
| mAttrMap | back to summary |
|---|---|
| protected int[] mAttrMap Encoding of a data structure that contains mapping from attribute names to attribute index in main attribute name arrays.
Data structure contains two separate areas; main hash area (with
size | |
| mAttrSpillEnd | back to summary |
|---|---|
| protected int mAttrSpillEnd Pointer to int slot right after last spill entr, in
| |
| mDefaultNsDeclared | back to summary |
|---|---|
| protected boolean mDefaultNsDeclared Flag to indicate whether the default namespace has already been declared for the current element. | |
| mMaxAttributesPerElement | back to summary |
|---|---|
| protected int mMaxAttributesPerElement | |
| mNamespaceBuilder | back to summary |
|---|---|
| private final TextBuilder mNamespaceBuilder TextBuilder into which values of namespace URIs are added (including URI for the default namespace, if one defined). | |
| mNamespaces | back to summary |
|---|---|
| protected Attribute[] mNamespaces Array of namespace declaration attributes collected for this element; not used in non-namespace-aware mode | |
| mNonDefCount | back to summary |
|---|---|
| protected int mNonDefCount Number of attribute values actually parsed, not including
ones created via default value expansion. Equal to or less than
| |
| mNsCount | back to summary |
|---|---|
| protected int mNsCount Number of valid namespace declarations in | |
| mValueBuilder | back to summary |
|---|---|
| protected TextBuilder mValueBuilder TextBuilder into which values of all attributes are appended to, including default valued ones (defaults are added after explicit ones). Constructed lazily, if and when needed (not needed for short attribute-less docs) | |
| mXmlIdAttrIndex | back to summary |
|---|---|
| protected int mXmlIdAttrIndex Index of "xml:id" attribute, if one exists for the current
element; | |
| mXmlIdLocalName | back to summary |
|---|---|
| protected final String mXmlIdLocalName | |
| mXmlIdPrefix | back to summary |
|---|---|
| protected final String mXmlIdPrefix | |
| sInternCache | back to summary |
|---|---|
| protected static final InternCache sInternCache | |
| XMLID_IX_DISABLED | back to summary |
|---|---|
| protected static final int XMLID_IX_DISABLED This value is used to indicate that we shouldn't keep track of index of xml:id attribute -- generally done when Xml:id support is disabled | |
| XMLID_IX_NONE | back to summary |
|---|---|
| protected static final int XMLID_IX_NONE | |
| AttributeCollector | back to summary |
|---|---|
| protected AttributeCollector(ReaderConfig cfg, boolean nsAware) | |
| addDefaultAttribute | back to summary |
|---|---|
| public int addDefaultAttribute(String localName, String uri, String prefix, String value) throws XMLStreamException Method called by validator to insert an attribute that has a default value and wasn't yet included in collector's attribute set.
| |
| allocBuffers | back to summary |
|---|---|
| protected final void allocBuffers() Method called to initialize buffers that need not be immediately initialized | |
| buildAttrOb | back to summary |
|---|---|
| public ElemAttrs buildAttrOb() Method needed by event creating code, to build a non-transient attribute container, to use with XMLEvent objects (specifically implementation of StartElement event). | |
| checkExpand | back to summary |
|---|---|
| private static final boolean checkExpand(TypedArrayDecoder tad) Internal method used to see if we can expand the buffer that the array decoder has. Bit messy, but simpler than having separately typed instances; and called rarely so that performance downside of instanceof is irrelevant. | |
| decodeBinary | back to summary |
|---|---|
| public final byte[] decodeBinary(int index, Base64Variant v, CharArrayBase64Decoder dec, InputProblemReporter rep) throws XMLStreamException | |
| decodeValue | back to summary |
|---|---|
| public final void decodeValue(int index, TypedValueDecoder tvd) throws IllegalArgumentException Method called to decode the whole attribute value as a single typed value. Decoding is done using the decoder provided. | |
| decodeValues | back to summary |
|---|---|
| public final int decodeValues(int index, TypedArrayDecoder tad, InputProblemReporter rep) throws XMLStreamException Method called to decode the attribute value that consists of zero or more space-separated tokens. Decoding is done using the decoder provided.
| |
| decodeValues | back to summary |
|---|---|
| private static final int decodeValues(TypedArrayDecoder tad, InputProblemReporter rep, final char[] buf, int ptr, final int end) throws XMLStreamException | |
| findIndex | back to summary |
|---|---|
| public int findIndex(String localName) | |
| findIndex | back to summary |
|---|---|
| public int findIndex(String nsURI, String localName) | |
| getAttrBuilder | back to summary |
|---|---|
| public final TextBuilder getAttrBuilder(String attrPrefix, String attrLocalName) throws XMLStreamException Low-level accessor method that attribute validation code may call for certain types of attributes; generally only for id and idref/idrefs attributes. It returns the underlying 'raw' attribute value buffer for direct access. | |
| getCount | back to summary |
|---|---|
| public final int getCount() | |
| getDefaultNsBuilder | back to summary |
|---|---|
public TextBuilder getDefaultNsBuilder() throws XMLStreamException
| |
| getLocalName | back to summary |
|---|---|
| public String getLocalName(int index) | |
| getMaxAttributesPerElement | back to summary |
|---|---|
| public int getMaxAttributesPerElement() | |
| getNsBuilder | back to summary |
|---|---|
public TextBuilder getNsBuilder(String prefix) throws XMLStreamException
| |
| getNsCount | back to summary |
|---|---|
protected int getNsCount()
| |
| getNsPrefix | back to summary |
|---|---|
| public String getNsPrefix(int index) | |
| getNsURI | back to summary |
|---|---|
| public String getNsURI(int index) | |
| getPrefix | back to summary |
|---|---|
| public String getPrefix(int index) | |
| getQName | back to summary |
|---|---|
| public QName getQName(int index) | |
| getSharedValueBuffer | back to summary |
|---|---|
| protected char[] getSharedValueBuffer() | |
| getSpecifiedCount | back to summary |
|---|---|
public int getSpecifiedCount()
| |
| getURI | back to summary |
|---|---|
| public String getURI(int index) | |
| getValue | back to summary |
|---|---|
| public final String getValue(int index) Note the main reason this method is defined at this level, and made final, is performance. JIT may be able to fully inline this method, even when reference is via this base class. This is important since this is likely to be the most often called method of the collector instances. | |
| getValue | back to summary |
|---|---|
| public String getValue(String nsURI, String localName) | |
| getValueByLocalName | back to summary |
|---|---|
| public String getValueByLocalName(String localName) Specialized version in which namespace information is completely ignored.
| |
| getValueStartOffset | back to summary |
|---|---|
| protected int getValueStartOffset(int index) Method for getting start pointer within shared value buffer for given attribute. It is also the same as end pointer for preceding attribute, if any. | |
| getXmlIdAttrIndex | back to summary |
|---|---|
| public final int getXmlIdAttrIndex() | |
| hasDefaultNs | back to summary |
|---|---|
| public boolean hasDefaultNs() | |
| initHashArea | back to summary |
|---|---|
| private void initHashArea() Method called to ensure hash area will be properly set up in cases where initially no room was needed, but default attribute(s) is being added. | |
| isSpecified | back to summary |
|---|---|
| public final boolean isSpecified(int index) | |
| normalizeSpacesInValue | back to summary |
|---|---|
| public void normalizeSpacesInValue(int index) Method that can be called to force space normalization (remove
leading/trailing spaces, replace non-spaces white space with
spaces, collapse spaces to one) on specified attribute.
Currently called by | |
| reset | back to summary |
|---|---|
| public void reset() Method called to allow reusing of collector, usually right before starting collecting attributes for a new start tag. Note public only so that it can be called by unit tests. | |
| resolveNamespaceDecl | back to summary |
|---|---|
| protected Attribute resolveNamespaceDecl(int index, boolean internURI) Method called to resolve and initialize specified collected namespace declaration
| |
| resolveNamespaces | back to summary |
|---|---|
| public int resolveNamespaces(InputProblemReporter rep, StringVector ns) throws XMLStreamException Method called to resolve namespace URIs from attribute prefixes. Note public only so that it can be called by unit tests.
| |
| setMaxAttributesPerElement | back to summary |
|---|---|
| public void setMaxAttributesPerElement(int maxAttributesPerElement) | |
| setNormalizedValue | back to summary |
|---|---|
| public final void setNormalizedValue(int index, String value) Low-level mutator method that attribute validation code may call for certain types of attributes, when it wants to handle the whole validation and normalization process by itself. It is generally only called for id and idref/idrefs attributes, as those values are usually normalized. | |
| spillAttr | back to summary |
|---|---|
private int[] spillAttr(String uri, String name, int[] map, int currIndex, int spillIndex, int hash, int hashCount)
| |
| throwDupAttr | back to summary |
|---|---|
| protected void throwDupAttr(InputProblemReporter rep, int index) throws XMLStreamException Method that can be used to get the specified attribute value, by getting it written using Writer passed in. Can potentially save one String allocation, since no (temporary) Strings need to be created. | |
| throwIndex | back to summary |
|---|---|
| protected void throwIndex(int index) | |
| validateAttribute | back to summary |
|---|---|
| protected void validateAttribute(int index, XMLValidator vld) throws XMLStreamException | |
| writeAttribute | back to summary |
|---|---|
| public void writeAttribute(int index, XmlWriter xw) throws IOException, XMLStreamException
Deprecated Since 5.0.3
| |
| writeAttribute | back to summary |
|---|---|
| public void writeAttribute(int index, XmlWriter xw, XMLValidator validator) throws IOException, XMLStreamException Method that basically serializes the specified (read-in) attribute using Writers provided. Serialization is done by writing out (fully-qualified) name of the attribute, followed by the equals sign and quoted value. | |