Class EventToken

java.lang.Object
org.simpleframework.xml.stream.EventToken
All Implemented Interfaces:
Iterable<Attribute>, EventNode
Direct Known Subclasses:
DocumentReader.End, DocumentReader.Text, PullReader.End, PullReader.Text, StreamReader.End, StreamReader.Text

abstract class EventToken extends 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 Details

    • EventToken

      EventToken()
  • Method Details

    • 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 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 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 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 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 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 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 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