Package com.bea.xml.stream
Class XMLWriterBase
- java.lang.Object
-
- com.bea.xml.stream.ReaderToWriter
-
- com.bea.xml.stream.XMLWriterBase
-
- All Implemented Interfaces:
javax.xml.stream.XMLStreamWriter
- Direct Known Subclasses:
XMLStreamRecorder
public class XMLWriterBase extends ReaderToWriter implements javax.xml.stream.XMLStreamWriter
The base output class.
-
-
Field Summary
Fields Modifier and Type Field Description protected NamespaceContextImpl
context
protected static java.lang.String
DEFAULTNS
-
Constructor Summary
Constructors Constructor Description XMLWriterBase()
XMLWriterBase(java.io.Writer writer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close this writer and free any resources associated with the writer.protected void
closeEndTag()
protected void
closeStartElement()
protected void
closeStartTag()
void
flush()
Write any cached data to the underlying output mechanism.javax.xml.namespace.NamespaceContext
getNamespaceContext()
Returns the current namespace context.java.lang.String
getPrefix(java.lang.String uri)
Gets the prefix the uri is bound tojava.lang.Object
getProperty(java.lang.String name)
Get the value of a feature/property from the underlying implementationprotected java.lang.String
getURIInternal(java.lang.String prefix)
protected boolean
isOpen()
static void
main(java.lang.String[] args)
protected void
openEndTag()
protected void
openStartTag()
void
setConfigurationContext(ConfigurationContextBase c)
void
setDefaultNamespace(java.lang.String uri)
Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair.void
setNamespaceContext(javax.xml.namespace.NamespaceContext context)
Sets the current namespace context for prefix and uri bindings.void
setPrefix(java.lang.String prefix, java.lang.String uri)
Sets the prefix the uri is bound to.void
setWriter(java.io.Writer writer)
protected void
write(char c)
protected void
write(char[] c)
protected void
write(char[] c, int start, int len)
protected void
write(java.lang.String s)
void
writeAttribute(java.lang.String localName, java.lang.String value)
Writes an attribute to the output stream without a prefix.void
writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
Writes an attribute to the output streamvoid
writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
Writes an attribute to the output streamvoid
writeCData(java.lang.String data)
Writes a CData sectionvoid
writeCharacters(char[] text, int start, int len)
Write text to the outputvoid
writeCharacters(java.lang.String text)
Write text to the outputprotected void
writeCharactersInternal(char[] characters, int start, int length, boolean isAttributeValue)
void
writeComment(java.lang.String data)
Writes an xml comment with the data enclosedvoid
writeDefaultNamespace(java.lang.String namespaceURI)
Writes the default namespace to the streamvoid
writeDTD(java.lang.String dtd)
Write a DTD section.void
writeEmptyElement(java.lang.String localName)
Writes an empty element tag to the outputvoid
writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName)
Writes an empty element tag to the outputvoid
writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)
Writes an empty element tag to the outputvoid
writeEndDocument()
Closes any start tags and writes corresponding end tags.void
writeEndElement()
Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.void
writeEntityRef(java.lang.String name)
Writes an entity referenceprotected java.lang.String
writeName(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName)
void
writeNamespace(java.lang.String prefix, java.lang.String namespaceURI)
Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespacevoid
writeProcessingInstruction(java.lang.String target)
Writes a processing instructionvoid
writeProcessingInstruction(java.lang.String target, java.lang.String text)
Writes a processing instructionvoid
writeRaw(java.lang.String data)
void
writeStartDocument()
Write the XML Declaration.void
writeStartDocument(java.lang.String version)
Write the XML Declaration.void
writeStartDocument(java.lang.String encoding, java.lang.String version)
Write the XML Declaration.void
writeStartElement(java.lang.String localName)
Writes a start tag to the output.void
writeStartElement(java.lang.String namespaceURI, java.lang.String localName)
Writes a start tag to the outputvoid
writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)
Writes a start tag to the outputprotected void
writeStartElementInternal(java.lang.String namespaceURI, java.lang.String localName)
-
Methods inherited from class com.bea.xml.stream.ReaderToWriter
setStreamWriter, write, writeAll
-
-
-
-
Field Detail
-
DEFAULTNS
protected static final java.lang.String DEFAULTNS
- See Also:
- Constant Field Values
-
context
protected NamespaceContextImpl context
-
-
Method Detail
-
setWriter
public void setWriter(java.io.Writer writer)
-
setConfigurationContext
public void setConfigurationContext(ConfigurationContextBase c)
-
write
protected void write(java.lang.String s) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
write
protected void write(char c) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
write
protected void write(char[] c) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
write
protected void write(char[] c, int start, int len) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeCharactersInternal
protected void writeCharactersInternal(char[] characters, int start, int length, boolean isAttributeValue) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
closeStartElement
protected void closeStartElement() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
isOpen
protected boolean isOpen()
-
closeStartTag
protected void closeStartTag() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeName
protected java.lang.String writeName(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
getURIInternal
protected java.lang.String getURIInternal(java.lang.String prefix)
-
openStartTag
protected void openStartTag() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElementInternal
protected void writeStartElementInternal(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElement
public void writeStartElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a start tag to the output- Specified by:
writeStartElement
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
namespaceURI
- the namespaceURI of the prefix to use, may not be nulllocalName
- local name of the tag, may not be null- Throws:
javax.xml.stream.XMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
-
writeStartElement
public void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a start tag to the output- Specified by:
writeStartElement
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
prefix
- the prefix of the tag, may not be nulllocalName
- local name of the tag, may not be nullnamespaceURI
- the uri to bind the prefix to, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElement
public void writeStartElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a start tag to the output. All writeStartElement methods open a new scope in the internal namespace context. Writing the corresponding EndElement causes the scope to be closed.- Specified by:
writeStartElement
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
localName
- local name of the tag, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an empty element tag to the output- Specified by:
writeEmptyElement
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
namespaceURI
- the uri to bind the tag to, may not be nulllocalName
- local name of the tag, may not be null- Throws:
javax.xml.stream.XMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
-
writeEmptyElement
public void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an empty element tag to the output- Specified by:
writeEmptyElement
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
prefix
- the prefix of the tag, may not be nulllocalName
- local name of the tag, may not be nullnamespaceURI
- the uri to bind the tag to, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an empty element tag to the output- Specified by:
writeEmptyElement
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
localName
- local name of the tag, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
openEndTag
protected void openEndTag() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
closeEndTag
protected void closeEndTag() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeEndElement
public void writeEndElement() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.- Specified by:
writeEndElement
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeRaw
public void writeRaw(java.lang.String data) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
close
public void close() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Close this writer and free any resources associated with the writer. This must not close the underlying output stream.- Specified by:
close
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
flush
public void flush() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write any cached data to the underlying output mechanism.- Specified by:
flush
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeEndDocument
public void writeEndDocument() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Closes any start tags and writes corresponding end tags.- Specified by:
writeEndDocument
in interfacejavax.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
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an attribute to the output stream without a prefix.- Specified by:
writeAttribute
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
localName
- the local name of the attributevalue
- the value of the attribute- 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
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an attribute to the output stream- Specified by:
writeAttribute
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
namespaceURI
- the uri of the prefix for this attributelocalName
- the local name of the attributevalue
- the value of the attribute- Throws:
javax.xml.stream.XMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
-
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
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an attribute to the output stream- Specified by:
writeAttribute
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
prefix
- the prefix for this attributenamespaceURI
- the uri of the prefix for this attributelocalName
- the local name of the attributevalue
- the value of the attribute- Throws:
javax.xml.stream.XMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
-
writeNamespace
public void writeNamespace(java.lang.String prefix, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespace- Specified by:
writeNamespace
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
prefix
- the prefix to bind this namespace tonamespaceURI
- the uri to bind the prefix to- Throws:
javax.xml.stream.XMLStreamException
-
writeDefaultNamespace
public void writeDefaultNamespace(java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes the default namespace to the stream- Specified by:
writeDefaultNamespace
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
namespaceURI
- the uri to bind the default namespace to- Throws:
javax.xml.stream.XMLStreamException
-
writeComment
public void writeComment(java.lang.String data) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an xml comment with the data enclosed- Specified by:
writeComment
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
data
- the data contained in the comment, may be null- Throws:
javax.xml.stream.XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(java.lang.String target) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a processing instruction- Specified by:
writeProcessingInstruction
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
target
- the target of the processing instruction, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(java.lang.String target, java.lang.String text) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a processing instruction- Specified by:
writeProcessingInstruction
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
target
- the target of the processing instruction, may not be nulltext
- the data contained in the processing instruction, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
writeDTD
public void writeDTD(java.lang.String dtd) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write a DTD section. This string represents the entire doctypedecl production from the XML 1.0 specification.- Specified by:
writeDTD
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
dtd
- the DTD to be written- Throws:
javax.xml.stream.XMLStreamException
-
writeCData
public void writeCData(java.lang.String data) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes a CData section- Specified by:
writeCData
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
data
- the data contained in the CData Section, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
writeEntityRef
public void writeEntityRef(java.lang.String name) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Writes an entity reference- Specified by:
writeEntityRef
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
name
- the name of the entity- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument() throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write the XML Declaration. Defaults the XML version to 1.0, and the encoding to utf-8- Specified by:
writeStartDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument(java.lang.String version) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write the XML Declaration. Defaults the XML version to 1.0- Specified by:
writeStartDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
version
- version of the xml document- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument(java.lang.String encoding, java.lang.String version) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write the XML Declaration. Note that the encoding parameter does not set the actual encoding of the underlying output. That must be set when the instance of the XMLStreamWriter is created using the XMLOutputFactory- Specified by:
writeStartDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
encoding
- encoding of the xml declarationversion
- version of the xml document- Throws:
javax.xml.stream.XMLStreamException
-
writeCharacters
public void writeCharacters(java.lang.String text) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write text to the output- Specified by:
writeCharacters
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
text
- the value to write- Throws:
javax.xml.stream.XMLStreamException
-
writeCharacters
public void writeCharacters(char[] text, int start, int len) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Write text to the output- Specified by:
writeCharacters
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
text
- the value to writestart
- the starting position in the arraylen
- the number of characters to write- Throws:
javax.xml.stream.XMLStreamException
-
getPrefix
public java.lang.String getPrefix(java.lang.String uri) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Gets the prefix the uri is bound to- Specified by:
getPrefix
in interfacejavax.xml.stream.XMLStreamWriter
- Returns:
- the prefix or null
- Throws:
javax.xml.stream.XMLStreamException
-
setPrefix
public void setPrefix(java.lang.String prefix, java.lang.String uri) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Sets the prefix the uri is bound to. This prefix is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the prefix is bound in the root scope.- Specified by:
setPrefix
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
prefix
- the prefix to bind to the uri, may not be nulluri
- the uri to bind to the prefix, may be null- Throws:
javax.xml.stream.XMLStreamException
-
setDefaultNamespace
public void setDefaultNamespace(java.lang.String uri) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the uri is bound in the root scope.- Specified by:
setDefaultNamespace
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
uri
- the uri to bind to the default namespace, may be null- Throws:
javax.xml.stream.XMLStreamException
-
setNamespaceContext
public void setNamespaceContext(javax.xml.namespace.NamespaceContext context) throws javax.xml.stream.XMLStreamException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Sets the current namespace context for prefix and uri bindings. This context becomes the root namespace context for writing and will replace the current root namespace context. Subsequent calls to setPrefix and setDefaultNamespace will bind namespaces using the context passed to the method as the root context for resolving namespaces. This method may only be called once at the start of the document. It does not cause the namespaces to be declared. If a namespace URI to prefix mapping is found in the namespace context it is treated as declared and the prefix may be used by the StreamWriter.- Specified by:
setNamespaceContext
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
context
- the namespace context to use for this writer, may not be null- Throws:
javax.xml.stream.XMLStreamException
-
getNamespaceContext
public javax.xml.namespace.NamespaceContext getNamespaceContext()
Description copied from interface:javax.xml.stream.XMLStreamWriter
Returns the current namespace context.- Specified by:
getNamespaceContext
in interfacejavax.xml.stream.XMLStreamWriter
- Returns:
- the current NamespaceContext
-
getProperty
public java.lang.Object getProperty(java.lang.String name) throws java.lang.IllegalArgumentException
Description copied from interface:javax.xml.stream.XMLStreamWriter
Get the value of a feature/property from the underlying implementation- Specified by:
getProperty
in interfacejavax.xml.stream.XMLStreamWriter
- Parameters:
name
- The name of the property, may not be null- Returns:
- The value of the property
- Throws:
java.lang.IllegalArgumentException
- if the property is not supported
-
main
public static void main(java.lang.String[] args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-