public abstract class FileSourceXML extends SourceBase implements FileSource, XMLStreamConstants
streams
). One who want to define a new xml-based fiel
source has to define actions after the document start and before the document
end. The nextEvents()
, called between start and end, has to be
defined too.Modifier and Type | Class and Description |
---|---|
protected class |
FileSourceXML.Parser
Base for parsers, providing some usefull features.
|
SourceBase.ElementType
Modifier and Type | Field and Description |
---|---|
private Stack<XMLEvent> |
events |
protected XMLEventReader |
reader
XML events stream.
|
attrSinks, eltsSinks, eventProcessing, eventQueue, sourceId, sourceTime
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
Modifier | Constructor and Description |
---|---|
protected |
FileSourceXML() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
afterStartDocument()
Called after the event
XMLEvent.START_DOCUMENT has been
received. |
protected abstract void |
beforeEndDocument()
Called before trying to receive the events
event.END_DOCUMENT . |
void |
begin(InputStream stream)
Begin reading the file stopping as soon as possible.
|
void |
begin(Reader reader)
Begin reading the file stopping as soon as possible.
|
void |
begin(String fileName)
Begin reading the file stopping as soon as possible.
|
void |
begin(URL url)
Begin reading the file stopping as soon as possible.
|
protected void |
checkValid(XMLEvent e,
int type,
String name)
Check is the event has valid type and name.
|
protected void |
closeStream()
Close the current opened stream.
|
void |
end()
Finish the reading process (even if
FileSource.nextEvents() or
FileSource.nextStep() did not returned false). |
protected XMLEvent |
getNextEvent()
Get a new event from the stream.
|
private String |
gotWhat(int type,
String v) |
private String |
gotWhat(XMLEvent e) |
protected boolean |
isEvent(XMLEvent e,
int type,
String name)
Check is an event has an expected type and name.
|
protected XMLStreamException |
newParseError(XMLEvent e,
String msg,
Object... args)
Generate a new parse exception.
|
abstract boolean |
nextEvents()
Try to process one graph event, or as few as possible, if more must be
read at once.
|
boolean |
nextStep()
Try to process all the events occurring during one time step.
|
protected void |
openStream(Reader stream)
Open a new xml events stream.
|
protected void |
pushback(XMLEvent e)
Pushback an event in the stream.
|
void |
readAll(InputStream stream)
Read the whole file in one big non-interruptible operation.
|
void |
readAll(Reader reader)
Read the whole file in one big non-interruptible operation.
|
void |
readAll(String fileName)
Read the whole file in one big non-interruptible operation.
|
void |
readAll(URL url)
Read the whole file in one big non-interruptible operation.
|
private void |
skipWhiteSpaces() |
protected String |
toConstantName(Attribute a)
Convert an attribute to a valid constant name.
|
protected String |
toConstantName(String value)
Convert a string to a valid constant name.
|
addAttributeSink, addElementSink, addSink, attributeSinks, clearAttributeSinks, clearElementSinks, clearSinks, elementSinks, manageEvents, removeAttributeSink, removeElementSink, removeSink, sendAttributeChangedEvent, sendAttributeChangedEvent, sendEdgeAdded, sendEdgeAdded, sendEdgeAttributeAdded, sendEdgeAttributeAdded, sendEdgeAttributeChanged, sendEdgeAttributeChanged, sendEdgeAttributeRemoved, sendEdgeAttributeRemoved, sendEdgeRemoved, sendEdgeRemoved, sendGraphAttributeAdded, sendGraphAttributeAdded, sendGraphAttributeChanged, sendGraphAttributeChanged, sendGraphAttributeRemoved, sendGraphAttributeRemoved, sendGraphCleared, sendGraphCleared, sendNodeAdded, sendNodeAdded, sendNodeAttributeAdded, sendNodeAttributeAdded, sendNodeAttributeChanged, sendNodeAttributeChanged, sendNodeAttributeRemoved, sendNodeAttributeRemoved, sendNodeRemoved, sendNodeRemoved, sendStepBegins, sendStepBegins
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addAttributeSink, addElementSink, addSink, clearAttributeSinks, clearElementSinks, clearSinks, removeAttributeSink, removeElementSink, removeSink
protected XMLEventReader reader
getNextEvent()
.protected FileSourceXML()
public void readAll(String fileName) throws IOException
FileSource
readAll
in interface FileSource
fileName
- Name of the file to read.IOException
- If an I/O error occurs while reading.public void readAll(URL url) throws IOException
FileSource
readAll
in interface FileSource
url
- The URL of the file to read.IOException
- If an I/O error occurs while reading.public void readAll(InputStream stream) throws IOException
FileSource
readAll
in interface FileSource
stream
- The input stream to use for reading.IOException
- If an I/O error occurs while reading.public void readAll(Reader reader) throws IOException
FileSource
readAll
in interface FileSource
reader
- The reader to use.IOException
- If an I/O error occurs while reading.public void begin(String fileName) throws IOException
FileSource
FileSource.nextEvents()
or
FileSource.nextStep()
. Once begin() has been called, you must finish the
reading process using FileSource.end()
. You cannot call begin() twice
without having called FileSource.end()
in between.begin
in interface FileSource
fileName
- Name of the file to read.IOException
- If an I/O error occurs while reading.public void begin(URL url) throws IOException
FileSource
FileSource.nextEvents()
or
FileSource.nextStep()
. Once begin() has been called, you must finish the
reading process using FileSource.end()
. You cannot call begin() twice
without having called FileSource.end()
in between.begin
in interface FileSource
url
- The URL of the file to read.IOException
- If an I/O error occurs while reading.public void begin(InputStream stream) throws IOException
FileSource
FileSource.nextEvents()
or
FileSource.nextStep()
. Once begin() has been called, you must finish the
reading process using FileSource.end()
. You cannot call begin() twice
without having called FileSource.end()
in between.begin
in interface FileSource
stream
- The input stream to use for reading.IOException
- If an I/O error occurs while reading.public void begin(Reader reader) throws IOException
FileSource
FileSource.nextEvents()
or
FileSource.nextStep()
. Once begin() has been called, you must finish the
reading process using FileSource.end()
. You cannot call begin() twice
without having called FileSource.end()
in between.begin
in interface FileSource
reader
- The file reader to use.IOException
- If an I/O error occurs while reading.protected abstract void afterStartDocument() throws IOException, XMLStreamException
XMLEvent.START_DOCUMENT
has been
received.IOException
XMLStreamException
protected abstract void beforeEndDocument() throws IOException, XMLStreamException
event.END_DOCUMENT
.IOException
XMLStreamException
public abstract boolean nextEvents() throws IOException
FileSource
FileSource.begin(InputStream)
or FileSource.begin(String)
before. This method
return true while there are still events to read.nextEvents
in interface FileSource
IOException
- If an I/O error occurs while reading.public boolean nextStep() throws IOException
FileSource
nextStep
in interface FileSource
IOException
- If an I/O error occurs while reading.public void end() throws IOException
FileSource
FileSource.nextEvents()
or
FileSource.nextStep()
did not returned false). You must call this method
after reading.end
in interface FileSource
IOException
- If an I/O error occurs while closing the file.protected XMLEvent getNextEvent() throws IOException, XMLStreamException
pushback(XMLEvent)
method to work.IOException
XMLStreamException
protected void pushback(XMLEvent e)
e
- the eventprotected XMLStreamException newParseError(XMLEvent e, String msg, Object... args)
e
- event producing an errormsg
- message to put in the exceptionargs
- arguments of the messageprotected boolean isEvent(XMLEvent e, int type, String name)
e
- event to checktype
- expected typename
- expected nameprotected void checkValid(XMLEvent e, int type, String name) throws XMLStreamException
e
- event to checktype
- expected typename
- expected nameXMLStreamException
- if event has invalid type or nameprivate void skipWhiteSpaces() throws IOException, XMLStreamException
IOException
XMLStreamException
protected void openStream(Reader stream) throws IOException
stream
- IOException
protected void closeStream() throws IOException
IOException
protected String toConstantName(Attribute a)
a
- toConstantName(String)
protected String toConstantName(String value)
value
- WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses