gnu.xml.stream

Class XMLEventReaderImpl

Implemented Interfaces:
Iterator<E>, XMLEventReader

public class XMLEventReaderImpl
extends Object
implements XMLEventReader

Parser using XML events.

Field Summary

protected XMLEventAllocator
allocator
protected XMLEvent
peekEvent
protected XMLStreamReader
reader
protected String
systemId

Constructor Summary

XMLEventReaderImpl(XMLStreamReader reader, XMLEventAllocator allocator, String systemId)

Method Summary

void
close()
Free any resources associated with this parser.
String
getElementText()
Reads the text context of an element.
Object
getProperty(String name)
Returns the implementation-specific feature or property of the given name.
boolean
hasNext()
Indicates whether there are more XML events to be read.
Object
next()
XMLEvent
nextEvent()
Returns the next XML event.
XMLEvent
nextTag()
Returns the next element event.
XMLEvent
peek()
Looks at the next XML event without advancing the cursor in the stream.
void
remove()

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

allocator

protected final XMLEventAllocator allocator

peekEvent

protected XMLEvent peekEvent

reader

protected final XMLStreamReader reader

systemId

protected final String systemId

Constructor Details

XMLEventReaderImpl

protected XMLEventReaderImpl(XMLStreamReader reader,
                             XMLEventAllocator allocator,
                             String systemId)

Method Details

close

public void close()
            throws XMLStreamException
Free any resources associated with this parser. This method will not close the underlying input source.
Specified by:
close in interface XMLEventReader

getElementText

public String getElementText()
            throws XMLStreamException
Reads the text context of an element. When invoked, the current event must be START_ELEMENT. On completion, the current event will be END_ELEMENT.
Specified by:
getElementText in interface XMLEventReader

getProperty

public Object getProperty(String name)
            throws IllegalArgumentException
Returns the implementation-specific feature or property of the given name.
Specified by:
getProperty in interface XMLEventReader
Throws:
IllegalArgumentException - if the property is not supported

hasNext

public boolean hasNext()
Indicates whether there are more XML events to be read.
Specified by:
hasNext in interface XMLEventReader
hasNext in interface Iterator<E>

next

public Object next()
Specified by:
next in interface Iterator<E>

nextEvent

public XMLEvent nextEvent()
            throws XMLStreamException
Returns the next XML event.
Specified by:
nextEvent in interface XMLEventReader

nextTag

public XMLEvent nextTag()
            throws XMLStreamException
Returns the next element event. This method skips insignificant space until a START_ELEMENT or END_ELEMENT event is found.
Specified by:
nextTag in interface XMLEventReader
Throws:
XMLStreamException - if an event that was not an insignificant space event was encountered

peek

public XMLEvent peek()
            throws XMLStreamException
Looks at the next XML event without advancing the cursor in the stream. Returns null if there are no more events to read.
Specified by:
peek in interface XMLEventReader

remove

public void remove()
Specified by:
remove in interface Iterator<E>

XMLEventReaderImpl.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.