|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.mmm.util.component.base.AbstractComponent
net.sf.mmm.util.component.base.AbstractLoggableComponent
net.sf.mmm.util.xml.base.StaxUtilImpl
@Singleton @Named public final class StaxUtilImpl
This utility class contains methods that help to work with the StAX API (JSR 173).
Field Summary | |
---|---|
private static StaxUtil |
instance
|
private StringValueConverter |
valueConverter
|
private javax.xml.stream.XMLInputFactory |
xmlInputFactory
|
private javax.xml.stream.XMLOutputFactory |
xmlOutputFactory
|
Constructor Summary | |
---|---|
StaxUtilImpl()
The constructor. |
Method Summary | ||
---|---|---|
javax.xml.stream.XMLEventReader |
createXmlEventReader(InputStream inputStream)
This method creates an XMLEventReader . |
|
javax.xml.stream.XMLStreamReader |
createXmlStreamReader(InputStream inputStream)
This method creates an XMLStreamReader . |
|
javax.xml.stream.XMLStreamWriter |
createXmlStreamWriter(OutputStream out)
This method creates a XMLStreamWriter . |
|
javax.xml.stream.XMLStreamWriter |
createXmlStreamWriter(Writer writer)
This method creates a XMLStreamWriter . |
|
protected void |
doInitialize()
This method performs the actual initialization . |
|
String |
getEventTypeName(int eventType)
This method gets the name for the given eventType . |
|
static StaxUtil |
getInstance()
This method gets the singleton instance of this StaxUtilImpl . |
|
protected StringValueConverter |
getValueConverter()
|
|
javax.xml.stream.XMLInputFactory |
getXmlInputFactory()
This method gets the XMLInputFactory to use. |
|
protected javax.xml.stream.XMLOutputFactory |
getXmlOutputFactory()
This method gets the XMLOutputFactory to use. |
|
javax.xml.stream.events.XMLEvent |
nextElement(javax.xml.stream.XMLEventReader xmlReader)
This method skips all events until a StartElement ,
EndElement or
EndDocument is
encountered . |
|
|
parseAttribute(javax.xml.stream.XMLStreamReader xmlReader,
String namespaceUri,
String localAttributeName,
Class<V> type)
This method parses the attribute with the given localAttributeName from the given xmlReader as
given by type . |
|
|
parseAttribute(javax.xml.stream.XMLStreamReader xmlReader,
String namespaceUri,
String localAttributeName,
Class<V> type,
V defaultValue)
This method parses the attribute with the given localAttributeName from the given xmlReader as
given by type . |
|
String |
readText(javax.xml.stream.XMLStreamReader xmlReader)
This method reads the text at the current
position of the given xmlReader . |
|
void |
setValueConverter(StringValueConverter valueConverter)
|
|
void |
setXmlInputFactory(javax.xml.stream.XMLInputFactory xmlInputFactory)
|
|
void |
setXmlOutputFactory(javax.xml.stream.XMLOutputFactory xmlOutputFactory)
This method sets the XML-output-factory . |
|
void |
skipOpenElement(javax.xml.stream.XMLEventReader xmlReader)
This method skips all events until the current element (tag) is closed. |
|
void |
skipOpenElement(javax.xml.stream.XMLStreamReader xmlReader)
This method skips all events until the current element (tag) is closed. |
Methods inherited from class net.sf.mmm.util.component.base.AbstractLoggableComponent |
---|
getLogger, setLogger |
Methods inherited from class net.sf.mmm.util.component.base.AbstractComponent |
---|
doInitialized, getInitializationState, initialize |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static StaxUtil instance
getInstance()
private javax.xml.stream.XMLInputFactory xmlInputFactory
getXmlInputFactory()
private javax.xml.stream.XMLOutputFactory xmlOutputFactory
getXmlOutputFactory()
private StringValueConverter valueConverter
getValueConverter()
Constructor Detail |
---|
public StaxUtilImpl()
Method Detail |
---|
public static StaxUtil getInstance()
StaxUtilImpl
.getInstance()
methods and
construct new instances via the container-framework of your choice (like
plexus, pico, springframework, etc.). To wire up the dependent components
everything is properly annotated using common-annotations (JSR-250). If
your container does NOT support this, you should consider using a better
one.
protected StringValueConverter getValueConverter()
@Inject public void setValueConverter(StringValueConverter valueConverter)
valueConverter
- the valueConverter to setprotected javax.xml.stream.XMLOutputFactory getXmlOutputFactory()
XMLOutputFactory
to use.
public void setXmlOutputFactory(javax.xml.stream.XMLOutputFactory xmlOutputFactory)
XML-output-factory
.
xmlOutputFactory
- is the xmlOutputFactory to set.public javax.xml.stream.XMLInputFactory getXmlInputFactory()
XMLInputFactory
to use.
public void setXmlInputFactory(javax.xml.stream.XMLInputFactory xmlInputFactory)
xmlInputFactory
- is the xmlInputFactory to setprotected void doInitialize()
initialization
. It is
called when AbstractComponent.initialize()
is invoked for the first time.super.AbstractComponent.doInitialize()
.
doInitialize
in class AbstractLoggableComponent
public javax.xml.stream.XMLEventReader createXmlEventReader(InputStream inputStream)
XMLEventReader
.
createXmlEventReader
in interface StaxUtil
inputStream
- is the InputStream
to read from.
XMLEventReader
.XMLInputFactory.createXMLEventReader(InputStream)
public javax.xml.stream.XMLStreamReader createXmlStreamReader(InputStream inputStream)
XMLStreamReader
.
createXmlStreamReader
in interface StaxUtil
inputStream
- is the InputStream
to read from.
XMLStreamReader
.XMLInputFactory.createXMLStreamReader(InputStream)
public javax.xml.stream.XMLStreamWriter createXmlStreamWriter(OutputStream out)
XMLStreamWriter
.
createXmlStreamWriter
in interface StaxUtil
out
- is the output stream where the XML will be written to.
XMLOutputFactory.createXMLStreamWriter(OutputStream)
public javax.xml.stream.XMLStreamWriter createXmlStreamWriter(Writer writer)
XMLStreamWriter
.
createXmlStreamWriter
in interface StaxUtil
writer
- is the writer where the XML will be written to.
XMLOutputFactory.createXMLStreamWriter(Writer)
public <V> V parseAttribute(javax.xml.stream.XMLStreamReader xmlReader, String namespaceUri, String localAttributeName, Class<V> type) throws ValueException
localAttributeName
from the given xmlReader
as
given by type
.
parseAttribute
in interface StaxUtil
V
- is the generic for the type
.xmlReader
- is where to read the XML from.namespaceUri
- is the URI representing the namespace of the requested
attribute or null
to ignore the namespace.localAttributeName
- is the local name of the requested attribute.type
- is the type the requested attribute should be converted to.
type
.
ValueException
- if the attribute is NOT defined or its value can NOT
be converted to type
.public <V> V parseAttribute(javax.xml.stream.XMLStreamReader xmlReader, String namespaceUri, String localAttributeName, Class<V> type, V defaultValue) throws ValueException
localAttributeName
from the given xmlReader
as
given by type
.
parseAttribute
in interface StaxUtil
V
- is the generic for the type
.xmlReader
- is where to read the XML from.namespaceUri
- is the URI representing the namespace of the requested
attribute or null
to ignore the namespace.localAttributeName
- is the local name of the requested attribute.type
- is the type the requested attribute should be converted to.defaultValue
- is the default value returned if the requested
attribute is NOT defined. It may be null
.
type
.
ValueException
- if the attribute value can NOT be converted to
type
.public String readText(javax.xml.stream.XMLStreamReader xmlReader)
text
at the current
position of the given xmlReader
.xmlReader
is pointing
to XMLStreamConstants.START_ELEMENT
or
XMLStreamConstants.ATTRIBUTE
all
attributes
are
skipped
before.
For XMLEventReader
use XMLEventReader.getElementText()
.
readText
in interface StaxUtil
xmlReader
- is the XMLStreamReader
to read the XML from.
text
at the current position
or null
if there is no text to read (e.g.
XMLStreamConstants.END_ELEMENT
was hit).public void skipOpenElement(javax.xml.stream.XMLStreamReader xmlReader)
... while (xmlReader.nextTag() ==XMLStreamConstants.START_ELEMENT
) { String tagname = xmlReader.getLocalName(); if (XML_TAG_FOO.equals(tagname)) { handleFoo(xmlReader); } else { // ignore all other tags staxUtil.skipOpenElement(xmlReader)
; } }
skipOpenElement
in interface StaxUtil
xmlReader
- is the STaX reader currently pointing at or inside the
element to skip. After the call of this method it will point to the
end-element event of the element to skip. Calling
XMLStreamReader.nextTag()
will then point to start-element
of the next sibling or to end-element of the parent.public void skipOpenElement(javax.xml.stream.XMLEventReader xmlReader)
skipOpenElement
in interface StaxUtil
xmlReader
- is the STaX reader currently pointing at or inside the
element to skip. After the call of this method it will point to the
end-element event of the element to skip. Calling
XMLEventReader.nextEvent()
will then return the event after
the EndElement
-Event of the skipped
element.StaxUtil.skipOpenElement(XMLStreamReader)
public javax.xml.stream.events.XMLEvent nextElement(javax.xml.stream.XMLEventReader xmlReader)
StartElement
,
EndElement
or
EndDocument
is
encountered
. Unlike
XMLEventReader.nextTag()
no exception is thrown according to
unexpected events
except if
has
no next event
.
nextElement
in interface StaxUtil
xmlReader
- is the XMLEventReader
to read the XML from.
public String getEventTypeName(int eventType)
eventType
.
getEventTypeName
in interface StaxUtil
eventType
- is an event type constant declared in
XMLStreamConstants
.
XMLStreamConstants
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |