org.codehaus.stax2
Interface XMLEventReader2

All Superinterfaces:
Iterator, XMLEventReader
All Known Implementing Classes:
Stax2EventReaderAdapter, Stax2EventReaderImpl, Stax2FilteredEventReader, WstxEventReader

public interface XMLEventReader2
extends XMLEventReader

Extended interface that implements functionality that is missing from XMLEventReader, based on findings on trying to implement Stax API v1.0.


Method Summary
 boolean hasNextEvent()
          Method that is similar to XMLEventReader.hasNext(), except that it can throw a XMLStreamException.
 boolean isPropertySupported(String name)
          Method similar to XMLInputFactory.isPropertySupported(java.lang.String), used to determine whether a property is supported by the Reader instance.
 boolean setProperty(String name, Object value)
          Method that can be used to set per-reader properties; a subset of properties one can set via matching XMLInputFactory2 instance.
 
Methods inherited from interface javax.xml.stream.XMLEventReader
close, getElementText, getProperty, hasNext, nextEvent, nextTag, peek
 
Methods inherited from interface java.util.Iterator
next, remove
 

Method Detail

hasNextEvent

boolean hasNextEvent()
                     throws XMLStreamException
Method that is similar to XMLEventReader.hasNext(), except that it can throw a XMLStreamException. This is important distinction, since the underlying stream reader is NOT allowed to throw such an exception when its hasNext() gets called; but the underlying parser may well need to advance the input stream and in doing so may encounter an exception. This exception should be propagated to the caller, as it may signal a problem with the input stream or xml content.

Throws:
XMLStreamException

isPropertySupported

boolean isPropertySupported(String name)
Method similar to XMLInputFactory.isPropertySupported(java.lang.String), used to determine whether a property is supported by the Reader instance. This means that this method may return false for some properties that the input factory does support: specifically, it should only return true if the value is mutable on per-instance basis. False means that either the property is not recognized, or is not mutable via reader instance.

Since:
3.0

setProperty

boolean setProperty(String name,
                    Object value)
Method that can be used to set per-reader properties; a subset of properties one can set via matching XMLInputFactory2 instance. Exactly which methods are mutable is implementation specific.

Parameters:
name - Name of the property to set
value - Value to set property to.
Returns:
True, if the specified property was succesfully set to specified value; false if its value was not changed
Throws:
InvalidArgumentException - if the property is not supported (or recognized) by the stream reader implementation
Since:
3.0