http://docs.oracle.com/javaee/5/api/javax/xml/stream/XMLStreamReader.html
I want to extend the XMLStreamReader but it's an interface.
I want to do something like:
public class GraphDataStreamReader extends XMLStreamReader{
public GraphDataStreamReader(){
super();
}
public void nextStartElement() throws XMLStreamException {
do {
super.next();
} while (!super.isStartElement());
}
}
Other class:
XMLInputFactory factory = XMLInputFactory.newInstance();
GraphDataStreamReader streamReader = (GraphDataStreamReader) factory.createXMLStreamReader(new FileReader(xmlFile)); //returns XMLStreamReader
streamReader.next(); //method from XMLStreamReader
streamReader.nextStartElement(); //method from GraphDataStreamReader
Is this posible? If yes, then how?
Here is how to extend StreamReaderDelegate:
class GraphDataStreamReader extends StreamReaderDelegate {
public GraphDataStreamReader(XMLStreamReader reader) {
super(reader);
}
public void nextStartElement() throws XMLStreamException {
do {
super.next();
} while (!super.isStartElement());
}
}
XMLInputFactory factory = XMLInputFactory.newInstance();
GraphDataStreamReader streamReader = new GraphDataStreamReader(
factory.createXMLStreamReader(fileInputStream));
streamReader.next();
streamReader.nextStartElement();