org.codehaus.staxmate.util
Class Stax2WriterAdapter

java.lang.Object
  extended by org.codehaus.staxmate.util.Stax2WriterAdapter
All Implemented Interfaces:
javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamWriter, org.codehaus.stax2.validation.Validatable, org.codehaus.stax2.XMLStreamWriter2

public final class Stax2WriterAdapter
extends java.lang.Object
implements org.codehaus.stax2.XMLStreamWriter2, javax.xml.stream.XMLStreamConstants

This adapter implements parts of XMLStreamWriter2, the extended stream reader defined by Stax2 extension, by wrapping a vanilla Stax 1.0 XMLStreamWriter implementation.

Note: the implementation is incomplete as-is, since not all features needed are accessible via basic Stax 1.0 interface. However, it should be enough to allow StaxMate to handle underlying Stax implementations in generic way, independent of whether they are truly Stax2 compatible or not.


Field Summary
 
Fields inherited from interface javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
 
Method Summary
 void close()
           
 void copyEventFromReader(org.codehaus.stax2.XMLStreamReader2 sr, boolean preserveEventData)
           
protected  void copyStartElement(javax.xml.stream.XMLStreamReader sr)
           
 void flush()
           
 java.lang.String getEncoding()
           
 org.codehaus.stax2.XMLStreamLocation2 getLocation()
           
 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)
           
 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)
           
 org.codehaus.stax2.validation.ValidationProblemHandler setValidationProblemHandler(org.codehaus.stax2.validation.ValidationProblemHandler h)
           
 org.codehaus.stax2.validation.XMLValidator stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema schema)
           
 org.codehaus.stax2.validation.XMLValidator stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidator validator)
           
 org.codehaus.stax2.validation.XMLValidator validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema schema)
           
static org.codehaus.stax2.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()
           
 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)
           
 void writeRaw(java.lang.String text)
           
 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

wrapIfNecessary

public static org.codehaus.stax2.XMLStreamWriter2 wrapIfNecessary(javax.xml.stream.XMLStreamWriter sw)
Method that should be used to add dynamic support for 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.


close

public void close()
           throws javax.xml.stream.XMLStreamException
Specified by:
close in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

flush

public void flush()
           throws javax.xml.stream.XMLStreamException
Specified by:
flush in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

getNamespaceContext

public javax.xml.namespace.NamespaceContext getNamespaceContext()
Specified by:
getNamespaceContext in interface javax.xml.stream.XMLStreamWriter

getPrefix

public java.lang.String getPrefix(java.lang.String uri)
                           throws javax.xml.stream.XMLStreamException
Specified by:
getPrefix in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

getProperty

public java.lang.Object getProperty(java.lang.String name)
Specified by:
getProperty in interface javax.xml.stream.XMLStreamWriter

setDefaultNamespace

public void setDefaultNamespace(java.lang.String uri)
                         throws javax.xml.stream.XMLStreamException
Specified by:
setDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

setNamespaceContext

public void setNamespaceContext(javax.xml.namespace.NamespaceContext context)
                         throws javax.xml.stream.XMLStreamException
Specified by:
setNamespaceContext in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

setPrefix

public void setPrefix(java.lang.String prefix,
                      java.lang.String uri)
               throws javax.xml.stream.XMLStreamException
Specified by:
setPrefix in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String namespaceURI,
                           java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeAttribute

public void writeAttribute(java.lang.String prefix,
                           java.lang.String namespaceURI,
                           java.lang.String localName,
                           java.lang.String value)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeCData

public void writeCData(java.lang.String data)
                throws javax.xml.stream.XMLStreamException
Specified by:
writeCData in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeCharacters

public void writeCharacters(char[] text,
                            int start,
                            int len)
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeCharacters in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeCharacters

public void writeCharacters(java.lang.String text)
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeCharacters in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeComment

public void writeComment(java.lang.String data)
                  throws javax.xml.stream.XMLStreamException
Specified by:
writeComment in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeDefaultNamespace

public void writeDefaultNamespace(java.lang.String namespaceURI)
                           throws javax.xml.stream.XMLStreamException
Specified by:
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeDTD

public void writeDTD(java.lang.String dtd)
              throws javax.xml.stream.XMLStreamException
Specified by:
writeDTD in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String namespaceURI,
                              java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEmptyElement

public void writeEmptyElement(java.lang.String prefix,
                              java.lang.String localName,
                              java.lang.String namespaceURI)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEndDocument

public void writeEndDocument()
                      throws javax.xml.stream.XMLStreamException
Specified by:
writeEndDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEndElement

public void writeEndElement()
                     throws javax.xml.stream.XMLStreamException
Specified by:
writeEndElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeEntityRef

public void writeEntityRef(java.lang.String name)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeEntityRef in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeNamespace

public void writeNamespace(java.lang.String prefix,
                           java.lang.String namespaceURI)
                    throws javax.xml.stream.XMLStreamException
Specified by:
writeNamespace in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeProcessingInstruction

public void writeProcessingInstruction(java.lang.String target)
                                throws javax.xml.stream.XMLStreamException
Specified by:
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeProcessingInstruction

public void writeProcessingInstruction(java.lang.String target,
                                       java.lang.String data)
                                throws javax.xml.stream.XMLStreamException
Specified by:
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument()
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument(java.lang.String version)
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument(java.lang.String encoding,
                               java.lang.String version)
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String namespaceURI,
                              java.lang.String localName)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public void writeStartElement(java.lang.String prefix,
                              java.lang.String localName,
                              java.lang.String namespaceURI)
                       throws javax.xml.stream.XMLStreamException
Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter
Throws:
javax.xml.stream.XMLStreamException

isPropertySupported

public boolean isPropertySupported(java.lang.String name)
Specified by:
isPropertySupported in interface org.codehaus.stax2.XMLStreamWriter2

setProperty

public boolean setProperty(java.lang.String name,
                           java.lang.Object value)
Specified by:
setProperty in interface org.codehaus.stax2.XMLStreamWriter2

getLocation

public org.codehaus.stax2.XMLStreamLocation2 getLocation()
Specified by:
getLocation in interface org.codehaus.stax2.XMLStreamWriter2

getEncoding

public java.lang.String getEncoding()
Specified by:
getEncoding in interface org.codehaus.stax2.XMLStreamWriter2

writeCData

public void writeCData(char[] text,
                       int start,
                       int len)
                throws javax.xml.stream.XMLStreamException
Specified by:
writeCData in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

writeDTD

public void writeDTD(java.lang.String rootName,
                     java.lang.String systemId,
                     java.lang.String publicId,
                     java.lang.String internalSubset)
              throws javax.xml.stream.XMLStreamException
Specified by:
writeDTD in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

writeFullEndElement

public void writeFullEndElement()
                         throws javax.xml.stream.XMLStreamException
Specified by:
writeFullEndElement in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

writeSpace

public void writeSpace(java.lang.String text)
                throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

writeSpace

public void writeSpace(char[] text,
                       int offset,
                       int length)
                throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

writeStartDocument

public void writeStartDocument(java.lang.String version,
                               java.lang.String encoding,
                               boolean standAlone)
                        throws javax.xml.stream.XMLStreamException
Specified by:
writeStartDocument in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

writeRaw

public void writeRaw(java.lang.String text)
              throws javax.xml.stream.XMLStreamException
Specified by:
writeRaw in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

writeRaw

public void writeRaw(java.lang.String text,
                     int offset,
                     int len)
              throws javax.xml.stream.XMLStreamException
Specified by:
writeRaw in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

writeRaw

public void writeRaw(char[] text,
                     int offset,
                     int length)
              throws javax.xml.stream.XMLStreamException
Specified by:
writeRaw in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

copyEventFromReader

public void copyEventFromReader(org.codehaus.stax2.XMLStreamReader2 sr,
                                boolean preserveEventData)
                         throws javax.xml.stream.XMLStreamException
Specified by:
copyEventFromReader in interface org.codehaus.stax2.XMLStreamWriter2
Throws:
javax.xml.stream.XMLStreamException

validateAgainst

public org.codehaus.stax2.validation.XMLValidator validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema schema)
                                                           throws javax.xml.stream.XMLStreamException
Specified by:
validateAgainst in interface org.codehaus.stax2.validation.Validatable
Throws:
javax.xml.stream.XMLStreamException

stopValidatingAgainst

public org.codehaus.stax2.validation.XMLValidator stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema schema)
                                                                 throws javax.xml.stream.XMLStreamException
Specified by:
stopValidatingAgainst in interface org.codehaus.stax2.validation.Validatable
Throws:
javax.xml.stream.XMLStreamException

stopValidatingAgainst

public org.codehaus.stax2.validation.XMLValidator stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidator validator)
                                                                 throws javax.xml.stream.XMLStreamException
Specified by:
stopValidatingAgainst in interface org.codehaus.stax2.validation.Validatable
Throws:
javax.xml.stream.XMLStreamException

setValidationProblemHandler

public org.codehaus.stax2.validation.ValidationProblemHandler setValidationProblemHandler(org.codehaus.stax2.validation.ValidationProblemHandler h)
Specified by:
setValidationProblemHandler in interface org.codehaus.stax2.validation.Validatable

copyStartElement

protected void copyStartElement(javax.xml.stream.XMLStreamReader sr)
                         throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException