Implementation Note
code for using Map-like structure is unfortunately
cut'n pasted from AttributeCollector. Problem
with refactoring is that it's 90% the same code, but not 100%.
Although instances of this class are constructed by stream readers, it is actually used by element event objects.
| Modifier and Type | Field and Description |
|---|---|
| private final int | |
| private final int[] | |
| private final int | |
| private final int | mDefaultOffset
Raw offset (in |
| private final String[] | mRawAttrs
Array that contains 4 Strings for each attribute; localName, URI, prefix, value. |
| private static final int |
| Access | Constructor and Description |
|---|---|
| public | ElemAttrs(String[]
Array that contains 4 Strings for each attribute;
localName, URI, prefix, value. Can be used to lazily construct
structure(s) needed to return Iterator for accessing all
attributes. rawAttrs, int Index of the first default attribute, if any;
number of all attributes if none defOffset)Method called to create "short" attribute list; list that has only few entries, and can thus be searched for attributes using linear search, without using any kind of Map structure. |
| public | ElemAttrs(String[]
Array that contains 4 Strings for each attribute;
localName, URI, prefix, value. Can be used to lazily construct
structure(s) needed to return Iterator for accessing all
attributes. rawAttrs, int defOffset, int[] attrMap, int hashSize, int spillEnd)Method called to create "long" attribute list; list that has a few entries, and efficient access by fully-qualified name should not be done by linear search. |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| private final int | findMapIndex(String nsURI, String localName)
Note this method is very similar to
|
| public int | |
| public String[] | |
| public boolean |
| mAttrHashSize | back to summary |
|---|---|
| private final int mAttrHashSize | |
| mAttrMap | back to summary |
|---|---|
| private final int[] mAttrMap | |
| mAttrSpillEnd | back to summary |
|---|---|
| private final int mAttrSpillEnd | |
| mDefaultOffset | back to summary |
|---|---|
| private final int mDefaultOffset Raw offset (in | |
| mRawAttrs | back to summary |
|---|---|
| private final String[] mRawAttrs Array that contains 4 Strings for each attribute; localName, URI, prefix, value. Can be used to lazily construct structure(s) needed to return Iterator for accessing all attributes. | |
| OFFSET_NS_URI | back to summary |
|---|---|
| private static final int OFFSET_NS_URI | |
| ElemAttrs | back to summary |
|---|---|
| public ElemAttrs(String[] rawAttrs, int defOffset) Method called to create "short" attribute list; list that has only few entries, and can thus be searched for attributes using linear search, without using any kind of Map structure. Currently the limit is 4 attributes; 1, 2 or 3 attribute lists are considered short, 4 or more 'long'.
| |
| ElemAttrs | back to summary |
|---|---|
| public ElemAttrs(String[] rawAttrs, int defOffset, int[] attrMap, int hashSize, int spillEnd) Method called to create "long" attribute list; list that has a few entries, and efficient access by fully-qualified name should not be done by linear search.
| |
| findIndex | back to summary |
|---|---|
| public int findIndex(QName name) | |
| findMapIndex | back to summary |
|---|---|
| private final int findMapIndex(String nsURI, String localName) Note this method is very similar to
| |
| getFirstDefaultOffset | back to summary |
|---|---|
| public int getFirstDefaultOffset() | |
| getRawAttrs | back to summary |
|---|---|
| public String[] getRawAttrs() | |
| isDefault | back to summary |
|---|---|
| public boolean isDefault(int ix) | |