Class EventToken

  • All Implemented Interfaces:
    java.lang.Iterable<Attribute>, EventNode
    Direct Known Subclasses:
    DocumentReader.End, DocumentReader.Text, PullReader.End, PullReader.Text, StreamReader.End, StreamReader.Text

    abstract class EventToken
    extends java.lang.Object
    implements EventNode
    The EventToken object is used to represent an event that has been extracted from the XML document. Events provide a framework neutral way to represent a token from the source XML. It provides the name and value of the event, if applicable, and also provides namespace information. Some nodes will have associated Attribute objects, typically these will be the XML element events. Also, if available, the event will provide the line number the event was encountered in the XML.
    • Constructor Summary

      Constructors 
      Constructor Description
      EventToken()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getLine()
      This is used to provide the line number the XML event was encountered at within the XML document.
      java.lang.String getName()
      This provides the name of the event.
      java.lang.String getPrefix()
      This is used to acquire the namespace prefix associated with this node.
      java.lang.String getReference()
      This is used to acquire the namespace reference that this node is in.
      java.lang.Object getSource()
      This is used to return the source of the event.
      java.lang.String getValue()
      This returns the value of the event.
      boolean isEnd()
      This is true when the node represents an element close.
      boolean isStart()
      This is true when the node represents a new element.
      boolean isText()
      This is true when the node represents a text token.
      java.util.Iterator<Attribute> iterator()
      This is used to acquire the Attribute objects that are associated with this event.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • EventToken

        EventToken()
    • Method Detail

      • getLine

        public int getLine()
        This is used to provide the line number the XML event was encountered at within the XML document. If there is no line number available for the node then this will return a -1.
        Specified by:
        getLine in interface EventNode
        Returns:
        this returns the line number if it is available
      • getName

        public java.lang.String getName()
        This provides the name of the event. Typically this will be the name of an XML element if the event represents an element. If however the event represents a text token or an element close token then this method may return null for the name.
        Specified by:
        getName in interface EventNode
        Returns:
        this returns the name of this event or null
      • getValue

        public java.lang.String getValue()
        This returns the value of the event. Typically this will be the text value that the token contains. If the event does not contain a value then this returns null. Only text events are required to produce a value via this methods.
        Specified by:
        getValue in interface EventNode
        Returns:
        this returns the value represented by this event
      • getReference

        public java.lang.String getReference()
        This is used to acquire the namespace reference that this node is in. A namespace is normally associated with an XML element or attribute, so text events and element close events are not required to contain any namespace references.
        Specified by:
        getReference in interface EventNode
        Returns:
        this will provide the associated namespace reference
      • getPrefix

        public java.lang.String getPrefix()
        This is used to acquire the namespace prefix associated with this node. A prefix is used to qualify an XML element or attribute within a namespace. So, if this represents a text event then a namespace prefix is not required.
        Specified by:
        getPrefix in interface EventNode
        Returns:
        this returns the namespace prefix for this event
      • getSource

        public java.lang.Object getSource()
        This is used to return the source of the event. Depending on which provider was selected to parse the XML document an object for the internal parsers representation of the event will be returned. This is useful for debugging purposes.
        Specified by:
        getSource in interface EventNode
        Returns:
        this will return the source object for this event
      • iterator

        public java.util.Iterator<Attribute> iterator()
        This is used to acquire the Attribute objects that are associated with this event. Attributes are typically associated wit start events. So, if the node is not a start event his may return a null value or an empty iterator.
        Specified by:
        iterator in interface java.lang.Iterable<Attribute>
        Returns:
        this returns an iterator for iterating attributes
      • isEnd

        public boolean isEnd()
        This is true when the node represents an element close. Such events are required by the core reader to determine if a node is still in context. This helps to determine if there are any more children to be read from a specific node.
        Specified by:
        isEnd in interface EventNode
        Returns:
        this returns true if the event is an element close
      • isStart

        public boolean isStart()
        This is true when the node represents a new element. This is the core event type as it contains the element name and any associated attributes. The core reader uses this to compose the input nodes that are produced.
        Specified by:
        isStart in interface EventNode
        Returns:
        this returns true if the event represents an element
      • isText

        public boolean isText()
        This is true when the node represents a text token. Text tokens are required to provide a value only. So namespace details and the node name will typically return null.
        Specified by:
        isText in interface EventNode
        Returns:
        this returns true if this represents text