org.codehaus.stax2.ri
public final class Stax2WriterAdapter extends java.lang.Object implements XMLStreamWriter2, javax.xml.stream.XMLStreamConstants
XMLStreamWriter2
, the
extended stream writer defined by Stax2 extension, by wrapping
a vanilla Stax 1.0 XMLStreamReader
implementation.
Note: the implementation is incomplete as-is, since not all features needed are accessible via basic Stax 1.0 interface. As such, two main use cases for this wrapper are:
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
copyEventFromReader(XMLStreamReader2 sr,
boolean preserveEventData)
Method that essentially copies
event that the specified reader has just read.
|
protected void |
copyStartElement(javax.xml.stream.XMLStreamReader sr) |
void |
flush() |
java.lang.String |
getEncoding()
Method that can be called to get information about encoding that
this writer is using (or at least claims is using).
|
XMLStreamLocation2 |
getLocation()
Method that should return current output location, if the writer
keeps track of it; null if it does not.
|
javax.xml.namespace.NamespaceContext |
getNamespaceContext() |
java.lang.String |
getPrefix(java.lang.String uri) |
java.lang.Object |
getProperty(java.lang.String name) |
boolean |
isPropertySupported(java.lang.String name)
Method similar to
XMLOutputFactory.isPropertySupported(java.lang.String) , used
to determine whether a property is supported by the Writer
instance. |
void |
setDefaultNamespace(java.lang.String uri) |
void |
setNamespaceContext(javax.xml.namespace.NamespaceContext context) |
void |
setPrefix(java.lang.String prefix,
java.lang.String uri) |
boolean |
setProperty(java.lang.String name,
java.lang.Object value)
Method that can be used to set per-writer properties; a subset of
properties one can set via matching
XMLOutputFactory2
instance. |
ValidationProblemHandler |
setValidationProblemHandler(ValidationProblemHandler h)
Method that application can call to define a custom handler for
validation problems encountered during validation process.
|
XMLValidator |
stopValidatingAgainst(XMLValidationSchema schema)
Method that can be called by application to stop validating
output against a schema, for which
Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier. |
XMLValidator |
stopValidatingAgainst(XMLValidator validator)
Method that can be called by application to stop validating
output using specified validator.
|
XMLValidator |
validateAgainst(XMLValidationSchema schema)
Method that will construct a
XMLValidator instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
Validatable.stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema) . |
static XMLStreamWriter2 |
wrapIfNecessary(javax.xml.stream.XMLStreamWriter sw)
Method that should be used to add dynamic support for
XMLStreamWriter2 . |
void |
writeAttribute(java.lang.String localName,
java.lang.String value) |
void |
writeAttribute(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String value) |
void |
writeAttribute(java.lang.String prefix,
java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String value) |
void |
writeCData(char[] text,
int start,
int len) |
void |
writeCData(java.lang.String data) |
void |
writeCharacters(char[] text,
int start,
int len) |
void |
writeCharacters(java.lang.String text) |
void |
writeComment(java.lang.String data) |
void |
writeDefaultNamespace(java.lang.String namespaceURI) |
void |
writeDTD(java.lang.String dtd) |
void |
writeDTD(java.lang.String rootName,
java.lang.String systemId,
java.lang.String publicId,
java.lang.String internalSubset) |
void |
writeEmptyElement(java.lang.String localName) |
void |
writeEmptyElement(java.lang.String namespaceURI,
java.lang.String localName) |
void |
writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI) |
void |
writeEndDocument() |
void |
writeEndElement() |
void |
writeEntityRef(java.lang.String name) |
void |
writeFullEndElement()
Method similar to
XMLStreamWriter.writeEndElement() , but that will always
write the full end element, instead of empty element. |
void |
writeNamespace(java.lang.String prefix,
java.lang.String namespaceURI) |
void |
writeProcessingInstruction(java.lang.String target) |
void |
writeProcessingInstruction(java.lang.String target,
java.lang.String data) |
void |
writeRaw(char[] text,
int offset,
int length)
Method that writes specified content as is, without encoding or
deciphering it in any way.
|
void |
writeRaw(java.lang.String text)
Method that writes specified content as is, without encoding or
deciphering it in any way.
|
void |
writeRaw(java.lang.String text,
int offset,
int len) |
void |
writeSpace(char[] text,
int offset,
int length) |
void |
writeSpace(java.lang.String text) |
void |
writeStartDocument() |
void |
writeStartDocument(java.lang.String version) |
void |
writeStartDocument(java.lang.String encoding,
java.lang.String version) |
void |
writeStartDocument(java.lang.String version,
java.lang.String encoding,
boolean standAlone) |
void |
writeStartElement(java.lang.String localName) |
void |
writeStartElement(java.lang.String namespaceURI,
java.lang.String localName) |
void |
writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI) |
public static XMLStreamWriter2 wrapIfNecessary(javax.xml.stream.XMLStreamWriter sw)
XMLStreamWriter2
. Method will check whether the
stream reader passed happens to be a XMLStreamWriter2
;
and if it is, return it properly cast. If not, it will create
necessary wrapper to support features needed by StaxMate,
using vanilla Stax 1.0 interface.public void close() throws javax.xml.stream.XMLStreamException
close
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void flush() throws javax.xml.stream.XMLStreamException
flush
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext
in interface javax.xml.stream.XMLStreamWriter
public java.lang.String getPrefix(java.lang.String uri) throws javax.xml.stream.XMLStreamException
getPrefix
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public java.lang.Object getProperty(java.lang.String name)
getProperty
in interface javax.xml.stream.XMLStreamWriter
public void setDefaultNamespace(java.lang.String uri) throws javax.xml.stream.XMLStreamException
setDefaultNamespace
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void setNamespaceContext(javax.xml.namespace.NamespaceContext context) throws javax.xml.stream.XMLStreamException
setNamespaceContext
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void setPrefix(java.lang.String prefix, java.lang.String uri) throws javax.xml.stream.XMLStreamException
setPrefix
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
writeAttribute
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
writeAttribute
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
writeAttribute
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeCData(java.lang.String data) throws javax.xml.stream.XMLStreamException
writeCData
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeCharacters(char[] text, int start, int len) throws javax.xml.stream.XMLStreamException
writeCharacters
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeCharacters(java.lang.String text) throws javax.xml.stream.XMLStreamException
writeCharacters
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeComment(java.lang.String data) throws javax.xml.stream.XMLStreamException
writeComment
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeDefaultNamespace(java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
writeDefaultNamespace
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeDTD(java.lang.String dtd) throws javax.xml.stream.XMLStreamException
writeDTD
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
writeEmptyElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
writeEmptyElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
writeEmptyElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeEndDocument() throws javax.xml.stream.XMLStreamException
writeEndDocument
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeEndElement() throws javax.xml.stream.XMLStreamException
writeEndElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeEntityRef(java.lang.String name) throws javax.xml.stream.XMLStreamException
writeEntityRef
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeNamespace(java.lang.String prefix, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
writeNamespace
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeProcessingInstruction(java.lang.String target) throws javax.xml.stream.XMLStreamException
writeProcessingInstruction
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeProcessingInstruction(java.lang.String target, java.lang.String data) throws javax.xml.stream.XMLStreamException
writeProcessingInstruction
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeStartDocument() throws javax.xml.stream.XMLStreamException
writeStartDocument
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeStartDocument(java.lang.String version) throws javax.xml.stream.XMLStreamException
writeStartDocument
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeStartDocument(java.lang.String encoding, java.lang.String version) throws javax.xml.stream.XMLStreamException
writeStartDocument
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
writeStartElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
writeStartElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
writeStartElement
in interface javax.xml.stream.XMLStreamWriter
javax.xml.stream.XMLStreamException
public boolean isPropertySupported(java.lang.String name)
XMLStreamWriter2
XMLOutputFactory.isPropertySupported(java.lang.String)
, used
to determine whether a property is supported by the Writer
instance. This means that this method may return false
for some properties that the output factory does support: specifically,
it should only return true if the value is mutable on per-instance
basis. False means that either the property is not recognized, or
is not mutable via writer instance.isPropertySupported
in interface XMLStreamWriter2
public boolean setProperty(java.lang.String name, java.lang.Object value)
XMLStreamWriter2
XMLOutputFactory2
instance. Exactly which methods are mutable is implementation
specific.setProperty
in interface XMLStreamWriter2
name
- Name of the property to setvalue
- Value to set property to.public XMLStreamLocation2 getLocation()
XMLStreamWriter2
getLocation
in interface XMLStreamWriter2
public java.lang.String getEncoding()
XMLStreamWriter2
XMLOutputFactory
writeStartDocument
method (explicitly
or implicity; latter in cases where defaults are imposed
by Stax specification)
getEncoding
in interface XMLStreamWriter2
public void writeCData(char[] text, int start, int len) throws javax.xml.stream.XMLStreamException
writeCData
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void writeDTD(java.lang.String rootName, java.lang.String systemId, java.lang.String publicId, java.lang.String internalSubset) throws javax.xml.stream.XMLStreamException
writeDTD
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void writeFullEndElement() throws javax.xml.stream.XMLStreamException
XMLStreamWriter2
XMLStreamWriter.writeEndElement()
, but that will always
write the full end element, instead of empty element. This only
matters for cases where the element itself has no content, and
if writer is allowed to write empty elements when it encounters
such start/end element write pairs.writeFullEndElement
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void writeSpace(java.lang.String text) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public void writeSpace(char[] text, int offset, int length) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public void writeStartDocument(java.lang.String version, java.lang.String encoding, boolean standAlone) throws javax.xml.stream.XMLStreamException
writeStartDocument
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void writeRaw(java.lang.String text) throws javax.xml.stream.XMLStreamException
XMLStreamWriter2
Method is usually used when encapsulating output from another writer as a sub-tree, or when passing through XML fragments.
writeRaw
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void writeRaw(java.lang.String text, int offset, int len) throws javax.xml.stream.XMLStreamException
writeRaw
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void writeRaw(char[] text, int offset, int length) throws javax.xml.stream.XMLStreamException
XMLStreamWriter2
Method is usually used when encapsulating output from another writer as a sub-tree, or when passing through XML fragments.
writeRaw
in interface XMLStreamWriter2
javax.xml.stream.XMLStreamException
public void copyEventFromReader(XMLStreamReader2 sr, boolean preserveEventData) throws javax.xml.stream.XMLStreamException
XMLStreamWriter2
copyEventFromReader
in interface XMLStreamWriter2
sr
- Reader to use for accessing event to copypreserveEventData
- If true, writer is not allowed to change
the state of the reader (so that all the data associated with the
current event has to be preserved); if false, writer is allowed
to use methods that may cause some data to be discarded. Setting
this to false may improve the performance, since it may allow
full no-copy streaming of data, especially textual contents.javax.xml.stream.XMLStreamException
public XMLValidator validateAgainst(XMLValidationSchema schema) throws javax.xml.stream.XMLStreamException
Validatable
XMLValidator
instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
Validatable.stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
.
Note that while this method can be called at any point in output processing, validator instances are not required to be able to handle addition at other points than right before outputting the root element.
validateAgainst
in interface Validatable
javax.xml.stream.XMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidationSchema schema) throws javax.xml.stream.XMLStreamException
Validatable
Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier.stopValidatingAgainst
in interface Validatable
javax.xml.stream.XMLStreamException
public XMLValidator stopValidatingAgainst(XMLValidator validator) throws javax.xml.stream.XMLStreamException
Validatable
Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
.
Note: the specified validator is compared for identity with validators in use, not for equality.
stopValidatingAgainst
in interface Validatable
validator
)
if it was being used for validating current document; null if not.javax.xml.stream.XMLStreamException
public ValidationProblemHandler setValidationProblemHandler(ValidationProblemHandler h)
Validatable
setValidationProblemHandler
in interface Validatable
h
- Handler to install, if non null; if null, indicates that
the default (implementation-specific) handling should be usedprotected void copyStartElement(javax.xml.stream.XMLStreamReader sr) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException