Package net.sf.saxon.om
Class SmallAttributeMap
- java.lang.Object
-
- net.sf.saxon.om.SmallAttributeMap
-
- All Implemented Interfaces:
java.lang.Iterable<AttributeInfo>,AttributeMap
public class SmallAttributeMap extends java.lang.Object implements AttributeMap
An implementation of AttributeMap suitable for small collections of attributes (typically, up to five). Searching for a particular attribute involves a sequential search, and adding a new attribute constructs a full copy.A
SmallAttributeMapretains attribute order, so there may be situations in which it is appropriate to use this structure even for larger attribute sets.
-
-
Field Summary
Fields Modifier and Type Field Description static intLIMIT
-
Constructor Summary
Constructors Constructor Description SmallAttributeMap(java.util.List<AttributeInfo> attributes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.ArrayList<AttributeInfo>asList()Get the contents of the AttributeMap as a list ofAttributeInfoobjects.AttributeInfoget(java.lang.String uri, java.lang.String local)Get the attribute with a given name, if it existsAttributeInfoget(NodeName name)Get the attribute with a given name, if it existsAttributeInfogetByFingerprint(int fingerprint, NamePool namePool)AttributeInfoitemAt(int index)Get the AttributeInfo with a given index.java.util.Iterator<AttributeInfo>iterator()intsize()Return the number of attributes in the map.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
LIMIT
public static final int LIMIT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SmallAttributeMap
public SmallAttributeMap(java.util.List<AttributeInfo> attributes)
-
-
Method Detail
-
size
public int size()
Return the number of attributes in the map.- Specified by:
sizein interfaceAttributeMap- Returns:
- The number of attributes in the map.
-
get
public AttributeInfo get(NodeName name)
Description copied from interface:AttributeMapGet the attribute with a given name, if it exists- Specified by:
getin interfaceAttributeMap- Parameters:
name- the name of the required attribute- Returns:
- the required attribute if it exists
-
get
public AttributeInfo get(java.lang.String uri, java.lang.String local)
Description copied from interface:AttributeMapGet the attribute with a given name, if it exists- Specified by:
getin interfaceAttributeMap- Parameters:
uri- the namespace part of the name of the required attributelocal- the local part of the name of the required attribute- Returns:
- the required attribute if it exists
-
getByFingerprint
public AttributeInfo getByFingerprint(int fingerprint, NamePool namePool)
- Specified by:
getByFingerprintin interfaceAttributeMap
-
iterator
public java.util.Iterator<AttributeInfo> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<AttributeInfo>
-
asList
public java.util.ArrayList<AttributeInfo> asList()
Description copied from interface:AttributeMapGet the contents of the AttributeMap as a list ofAttributeInfoobjects.The order of the returned list must be consistent with document order, with the order of the attribute axis, and with position-based retrieval of individual
AttributeInfoobjects; multiple calls are not required to return the same list, but they must be consistent in their ordering.Modifying the returned list has no effect on the AttributeMap
- Specified by:
asListin interfaceAttributeMap- Returns:
- a list of attributes in the AttributeMap
-
itemAt
public AttributeInfo itemAt(int index)
Description copied from interface:AttributeMapGet the AttributeInfo with a given index.- Specified by:
itemAtin interfaceAttributeMap- Parameters:
index- the index position, zero-based. The order of index positions of attributes in an attribute map reflects document order.- Returns:
- the AttributeInfo at the given position. In an immutable tree the result will always
be equivalent to calling
asList().get(index). However, if the tree has been modified, then the index values of the attributes may not be contiguous.
-
-