Class SmallAttributeMap

java.lang.Object
net.sf.saxon.om.SmallAttributeMap
All Implemented Interfaces:
Iterable<AttributeInfo>, AttributeMap

public class SmallAttributeMap extends 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 SmallAttributeMap retains attribute order, so there may be situations in which it is appropriate to use this structure even for larger attribute sets.

  • Field Details

  • Constructor Details

  • Method Details

    • size

      public int size()
      Return the number of attributes in the map.
      Specified by:
      size in interface AttributeMap
      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 interface AttributeMap
      Parameters:
      name - the name of the required attribute
      Returns:
      the required attribute if it exists
    • get

      public AttributeInfo get(NamespaceUri uri, String local)
      Description copied from interface: AttributeMap
      Get the attribute with a given name, if it exists
      Specified by:
      get in interface AttributeMap
      Parameters:
      uri - the namespace part of the name of the required attribute
      local - 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 interface AttributeMap
    • iterator

      public Iterator<AttributeInfo> iterator()
      Specified by:
      iterator in interface Iterable<AttributeInfo>
    • asList

      public ArrayList<AttributeInfo> asList()
      Description copied from interface: AttributeMap
      Get the contents of the AttributeMap as a list of AttributeInfo 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 interface AttributeMap
      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 interface AttributeMap
      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.