Class ElementId

java.lang.Object
com.ctc.wstx.util.ElementId

public final class ElementId extends Object
Simple container Object used to store information about id attribute values, and references to such (as of yet undefined) values.

Instances can be in one of 2 modes: either in fully defined mode, in which case information refers to location where value was defined (ie. we had id as a value of ID type attribute); or in undefined mode, in which case information refers to the first reference.

Note: this class is designed to be used with ElementIdMap, and as a result has some information specifically needed by the map implementation (such as collision links).

  • Field Details

    • mDefined

      private boolean mDefined
      Flag that indicates whether this Object presents a defined id value (value of an ID attribute) or just a reference to one.
    • mIdValue

      private final String mIdValue
      Actual id value
    • mLocation

      private Location mLocation
      Location of either definition (if mDefined is true; or first reference (otherwise). Used when reporting errors; either a referenced id has not been defined, or there are multiple definitions of same id.
    • mElemName

      private PrefixedName mElemName
      Name of element for which this id refers.
    • mAttrName

      private PrefixedName mAttrName
      Name of the attribute that contains this id value (often "id", but need not be)
    • mNextUndefined

      private ElementId mNextUndefined
    • mNextColl

      private ElementId mNextColl
      Pointer to the next element within collision chain.
  • Constructor Details

  • Method Details

    • linkUndefined

      protected void linkUndefined(ElementId undefined)
    • setNextColliding

      protected void setNextColliding(ElementId nextColl)
    • getId

      public String getId()
    • getLocation

      public Location getLocation()
    • getElemName

      public PrefixedName getElemName()
    • getAttrName

      public PrefixedName getAttrName()
    • isDefined

      public boolean isDefined()
    • idMatches

      public boolean idMatches(char[] buf, int start, int len)
    • idMatches

      public boolean idMatches(String idStr)
    • nextUndefined

      public ElementId nextUndefined()
    • nextColliding

      public ElementId nextColliding()
    • markDefined

      public void markDefined(Location defLoc)
    • toString

      public String toString()
      Overrides:
      toString in class Object