Class ElementId


  • public final class ElementId
    extends java.lang.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 Detail

      • 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 java.lang.String mIdValue
        Actual id value
      • mLocation

        private javax.xml.stream.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 Detail

      • ElementId

        ElementId​(java.lang.String id,
                  javax.xml.stream.Location loc,
                  boolean defined,
                  PrefixedName elemName,
                  PrefixedName attrName)
    • Method Detail

      • linkUndefined

        protected void linkUndefined​(ElementId undefined)
      • setNextColliding

        protected void setNextColliding​(ElementId nextColl)
      • getId

        public java.lang.String getId()
      • getLocation

        public javax.xml.stream.Location getLocation()
      • isDefined

        public boolean isDefined()
      • idMatches

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

        public boolean idMatches​(java.lang.String idStr)
      • nextUndefined

        public ElementId nextUndefined()
      • nextColliding

        public ElementId nextColliding()
      • markDefined

        public void markDefined​(javax.xml.stream.Location defLoc)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object