EventReaderDelegate (Java Platform SE 8 )
Keywords: javax.xml.stream.util.EventReaderDelegate class
Date: 2026-03-29

compact2, compact3
javax.xml.stream.util

## Class EventReaderDelegate

- java.lang.Object
- - javax.xml.stream.util.EventReaderDelegate

- All Implemented Interfaces:
    Iterator, XMLEventReader

      public class EventReaderDelegate
      extends Object
      implements XMLEventReader

  This is the base class for deriving an XMLEventReader filter. This class is designed to sit between an XMLEventReader and an application's XMLEventReader. By default each method does nothing but call the corresponding method on the parent interface.
  Since:
    1.6
  Version:
    1.0
  See Also:
    `XMLEventReader`, `StreamReaderDelegate`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EventReaderDelegate()` Construct an empty filter with no parent.
    `EventReaderDelegate(XMLEventReader reader)` Construct an filter with the specified parent.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Frees any resources associated with this Reader.
    `String` | `getElementText()` Reads the content of a text-only element.
    `XMLEventReader` | `getParent()` Get the parent of this instance.
    `Object` | `getProperty(String name)` Get the value of a feature/property from the underlying implementation
    `boolean` | `hasNext()` Check if there are more events.
    `Object` | `next()` Returns the next element in the iteration.
    `XMLEvent` | `nextEvent()` Get the next XMLEvent
    `XMLEvent` | `nextTag()` Skips any insignificant space events until a START_ELEMENT or END_ELEMENT is reached.
    `XMLEvent` | `peek()` Check the next XMLEvent without reading it from the stream.
    `void` | `remove()` Removes from the underlying collection the last element returned by this iterator (optional operation).
    `void` | `setParent(XMLEventReader reader)` Set the parent of this instance.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining`

- - ### Constructor Detail

    - #### EventReaderDelegate

          public EventReaderDelegate()

      Construct an empty filter with no parent.

    - #### EventReaderDelegate

          public EventReaderDelegate(XMLEventReader reader)

      Construct an filter with the specified parent.
      Parameters:
        `reader` - the parent

  - ### Method Detail

    - #### setParent

          public void setParent(XMLEventReader reader)

      Set the parent of this instance.
      Parameters:
        `reader` - the new parent

    - #### getParent

          public XMLEventReader getParent()

      Get the parent of this instance.
      Returns:
        the parent or null if none is set

    - #### nextEvent

          public XMLEvent nextEvent()
                             throws XMLStreamException

      Description copied from interface: `XMLEventReader`
      Get the next XMLEvent
      Specified by:
        `nextEvent` in interface `XMLEventReader`
      Throws:
        `XMLStreamException` - if there is an error with the underlying XML.
      See Also:
        `XMLEvent`

    - #### next

          public Object next()

      Description copied from interface: `Iterator`
      Returns the next element in the iteration.
      Specified by:
        `next` in interface `Iterator`
      Returns:
        the next element in the iteration

    - #### hasNext

          public boolean hasNext()

      Description copied from interface: `XMLEventReader`
      Check if there are more events. Returns true if there are more events and false otherwise.
      Specified by:
        `hasNext` in interface `Iterator`
      Specified by:
        `hasNext` in interface `XMLEventReader`
      Returns:
        true if the event reader has more events, false otherwise

    - #### peek

          public XMLEvent peek()
                        throws XMLStreamException

      Description copied from interface: `XMLEventReader`
      Check the next XMLEvent without reading it from the stream. Returns null if the stream is at EOF or has no more XMLEvents. A call to peek() will be equal to the next return of next().
      Specified by:
        `peek` in interface `XMLEventReader`
      Throws:
        `XMLStreamException`
      See Also:
        `XMLEvent`

    - #### close

          public void close()
                     throws XMLStreamException

      Description copied from interface: `XMLEventReader`
      Frees any resources associated with this Reader. This method does not close the underlying input source.
      Specified by:
        `close` in interface `XMLEventReader`
      Throws:
        `XMLStreamException` - if there are errors freeing associated resources

    - #### getElementText

          public String getElementText()
                                throws XMLStreamException

      Description copied from interface: `XMLEventReader`
      Reads the content of a text-only element. Precondition: the current event is START_ELEMENT. Postcondition: The current event is the corresponding END_ELEMENT.
      Specified by:
        `getElementText` in interface `XMLEventReader`
      Throws:
        `XMLStreamException` - if the current event is not a START_ELEMENT or if a non text element is encountered

    - #### nextTag

          public XMLEvent nextTag()
                           throws XMLStreamException

      Description copied from interface: `XMLEventReader`
      Skips any insignificant space events until a START_ELEMENT or END_ELEMENT is reached. If anything other than space characters are encountered, an exception is thrown. This method should be used when processing element-only content because the parser is not able to recognize ignorable whitespace if the DTD is missing or not interpreted.
      Specified by:
        `nextTag` in interface `XMLEventReader`
      Throws:
        `XMLStreamException` - if anything other than space characters are encountered

    - #### getProperty

          public Object getProperty(String name)
                             throws IllegalArgumentException

      Description copied from interface: `XMLEventReader`
      Get the value of a feature/property from the underlying implementation
      Specified by:
        `getProperty` in interface `XMLEventReader`
      Parameters:
        `name` - The name of the property
      Returns:
        The value of the property
      Throws:
        `IllegalArgumentException` - if the property is not supported

    - #### remove

          public void remove()

      Description copied from interface: `Iterator`
      Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to `Iterator.next()`. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.
      Specified by:
        `remove` in interface `Iterator`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.