|
||||||||||
| 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 AbstractLoggableComponentpublic javax.xml.stream.XMLEventReader createXmlEventReader(InputStream inputStream)
XMLEventReader.
createXmlEventReader in interface StaxUtilinputStream - is the InputStream to read from.
XMLEventReader.XMLInputFactory.createXMLEventReader(InputStream)public javax.xml.stream.XMLStreamReader createXmlStreamReader(InputStream inputStream)
XMLStreamReader.
createXmlStreamReader in interface StaxUtilinputStream - is the InputStream to read from.
XMLStreamReader.XMLInputFactory.createXMLStreamReader(InputStream)public javax.xml.stream.XMLStreamWriter createXmlStreamWriter(OutputStream out)
XMLStreamWriter.
createXmlStreamWriter in interface StaxUtilout - 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 StaxUtilwriter - 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 StaxUtilV - 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 StaxUtilV - 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 StaxUtilxmlReader - 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 StaxUtilxmlReader - 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 StaxUtilxmlReader - 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 StaxUtilxmlReader - is the XMLEventReader to read the XML from.
public String getEventTypeName(int eventType)
eventType.
getEventTypeName in interface StaxUtileventType - 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 | |||||||||