Package net.sf.saxon.om
Class SingletonAttributeMap
- java.lang.Object
-
- net.sf.saxon.om.AttributeInfo
-
- net.sf.saxon.om.SingletonAttributeMap
-
- All Implemented Interfaces:
java.lang.Iterable<AttributeInfo>
,AttributeMap
public class SingletonAttributeMap extends AttributeInfo implements AttributeMap
An implementation of AttributeMap for use when there is exactly one attribute
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.saxon.om.AttributeInfo
AttributeInfo.Deleted
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeMap
apply(java.util.function.Function<AttributeInfo,AttributeInfo> mapper)
Apply a function to every attribute in an attribute map, returning a new attribute mapjava.util.ArrayList<AttributeInfo>
asList()
Get the contents of the AttributeMap as a list ofAttributeInfo
objects.AttributeInfo
get(java.lang.String uri, java.lang.String local)
Get the attribute with a given name, if it existsAttributeInfo
get(NodeName name)
Get the attribute with a given name, if it existsAttributeInfo
getByFingerprint(int fingerprint, NamePool namePool)
AttributeInfo
itemAt(int index)
Get the AttributeInfo with a given index.java.util.Iterator<AttributeInfo>
iterator()
static SingletonAttributeMap
of(AttributeInfo att)
AttributeMap
put(AttributeInfo att)
Replace or add an attribute, to create a new AttributeMapAttributeMap
remove(NodeName name)
Remove an existing attribute, to create a new AttributeMapint
size()
Return the number of attributes in the map.-
Methods inherited from class net.sf.saxon.om.AttributeInfo
getLocation, getNodeName, getProperties, getType, getValue, getXdmStringValue, isId, withNodeName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.AttributeMap
getValue, getValue, verify
-
-
-
-
Method Detail
-
of
public static SingletonAttributeMap of(AttributeInfo att)
-
size
public int size()
Return the number of attributes in the map.- Specified by:
size
in interfaceAttributeMap
- Returns:
- The number of attributes in the map.
-
get
public AttributeInfo get(NodeName name)
Description copied from interface:AttributeMap
Get the attribute with a given name, if it exists- Specified by:
get
in 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:AttributeMap
Get the attribute with a given name, if it exists- Specified by:
get
in 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:
getByFingerprint
in interfaceAttributeMap
-
put
public AttributeMap put(AttributeInfo att)
Description copied from interface:AttributeMap
Replace or add an attribute, to create a new AttributeMap- Specified by:
put
in interfaceAttributeMap
- Parameters:
att
- the attribute to be added or replaced- Returns:
- the new AttributeMap
-
remove
public AttributeMap remove(NodeName name)
Description copied from interface:AttributeMap
Remove an existing attribute, to create a new AttributeMap- Specified by:
remove
in interfaceAttributeMap
- Parameters:
name
- the name of the attribute to be removed (if it exists)- Returns:
- a new attribute map in which the specified attribute is omitted. If the attribute map contains no attribute with the given name, the input attribute map (or one equivalent to it) is returned unchanged
-
iterator
public java.util.Iterator<AttributeInfo> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<AttributeInfo>
-
apply
public AttributeMap apply(java.util.function.Function<AttributeInfo,AttributeInfo> mapper)
Description copied from interface:AttributeMap
Apply a function to every attribute in an attribute map, returning a new attribute map- Specified by:
apply
in interfaceAttributeMap
- Parameters:
mapper
- the mapping function to be applied to each attribute in the attribute map- Returns:
- the attribute containing the attributes after the mapping function has been applied
-
asList
public java.util.ArrayList<AttributeInfo> asList()
Description copied from interface:AttributeMap
Get the contents of the AttributeMap as a list ofAttributeInfo
objects.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
AttributeInfo
objects; 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:
asList
in interfaceAttributeMap
- Returns:
- a list of attributes in the AttributeMap
-
itemAt
public AttributeInfo itemAt(int index)
Description copied from interface:AttributeMap
Get the AttributeInfo with a given index.- Specified by:
itemAt
in 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.
-
-