|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ctc.wstx.sw.XmlWriter
public abstract class XmlWriter
This is the base class for actual physical xml outputters. These instances will only handle actual writing (possibly including encoding) of the serialized textual xml, and will in general not verify content being output. The exception are the character-by-character checks that are most efficiently done at encoding level (such as character escaping, and checks for illegal character combinations), which are handled at this level.
Note that implementations can have different operating modes: specifically, when dealing with illegal content (such as "--" in a comment, "?>" in processing instruction, or "]]>" within CDATA section), implementations can do one of 3 things:
Field Summary | |
---|---|
protected static char |
DEFAULT_QUOTE_CHAR
|
protected java.io.Writer |
mAttrValueWriter
Optional escaping writer used for escaping characters like '"' '&' and '<' in attribute values. |
protected boolean |
mAutoCloseOutput
Flag that defines whether close() on this writer should call close on the underlying output object (stream, writer) |
protected boolean |
mCheckContent
|
protected boolean |
mCheckNames
|
protected boolean |
mCheckStructure
|
protected WriterConfig |
mConfig
|
protected java.lang.String |
mEncoding
|
protected boolean |
mFixContent
|
protected int |
mLocPastChars
Number of characters output prior to currently buffered output |
protected int |
mLocRowNr
|
protected int |
mLocRowStartOffset
Offset of the first character on this line. |
protected boolean |
mNsAware
|
protected XmlWriterWrapper |
mRawWrapper
Lazy-constructed wrapper object, which will route all calls to Writer API, to matching writeRaw methods of this
XmlWriter instance. |
protected XmlWriterWrapper |
mTextWrapper
Lazy-constructed wrapper object, which will route all calls to Writer API, to matching writeCharacters methods of this
XmlWriter instance. |
protected java.io.Writer |
mTextWriter
Optional escaping writer used for escaping characters like '<' '&' and '>' in textual content. |
protected boolean |
mXml11
Indicates whether output is to be compliant; if false, is to be xml 1.0 compliant, if true, xml 1.1 compliant. |
protected static int |
SURR1_FIRST
|
protected static int |
SURR1_LAST
|
protected static int |
SURR2_FIRST
|
protected static int |
SURR2_LAST
|
Constructor Summary | |
---|---|
protected |
XmlWriter(WriterConfig cfg,
java.lang.String encoding,
boolean autoclose)
|
Method Summary | |
---|---|
abstract void |
close()
Method called to flush the buffer(s), and close the output sink (stream or writer). |
void |
enableXml11()
|
abstract void |
flush()
|
int |
getAbsOffset()
|
int |
getColumn()
|
protected abstract int |
getOutputPtr()
|
protected abstract java.io.OutputStream |
getOutputStream()
|
int |
getRow()
|
protected abstract java.io.Writer |
getWriter()
|
protected void |
reportNwfContent(java.lang.String msg)
|
protected void |
reportNwfName(java.lang.String msg)
This is the method called when an output method call violates name well-formedness checks and WstxOutputProperties.P_OUTPUT_VALIDATE_NAMES is
is enabled. |
protected void |
reportNwfName(java.lang.String msg,
java.lang.Object arg)
|
protected void |
throwInvalidChar(int c)
|
protected void |
throwOutputError(java.lang.String msg)
|
protected void |
throwOutputError(java.lang.String format,
java.lang.Object arg)
|
void |
verifyNameValidity(java.lang.String name,
boolean checkNs)
Method called to verify that the name is a legal XML name. |
java.io.Writer |
wrapAsRawWriter()
Method that can be called to get a wrapper instance that can be used to essentially call the writeRaw
method. |
java.io.Writer |
wrapAsTextWriter()
|
abstract void |
writeAttribute(java.lang.String localName,
char[] value,
int offset,
int len)
|
abstract void |
writeAttribute(java.lang.String localName,
java.lang.String value)
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations) |
abstract void |
writeAttribute(java.lang.String prefix,
java.lang.String localName,
char[] value,
int offset,
int len)
|
abstract void |
writeAttribute(java.lang.String prefix,
java.lang.String localName,
java.lang.String value)
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations) |
abstract int |
writeCData(char[] cbuf,
int offset,
int len)
|
abstract int |
writeCData(java.lang.String data)
|
abstract void |
writeCDataEnd()
|
abstract void |
writeCDataStart()
|
abstract void |
writeCharacters(char[] cbuf,
int offset,
int len)
|
abstract void |
writeCharacters(java.lang.String data)
|
abstract int |
writeComment(java.lang.String data)
Method that will try to output the content as specified. |
abstract void |
writeCommentEnd()
|
abstract void |
writeCommentStart()
|
abstract void |
writeDTD(java.lang.String data)
Older "legacy" output method for outputting DOCTYPE declaration. |
abstract void |
writeDTD(java.lang.String rootName,
java.lang.String systemId,
java.lang.String publicId,
java.lang.String internalSubset)
|
abstract void |
writeEndTag(java.lang.String localName)
|
abstract void |
writeEndTag(java.lang.String prefix,
java.lang.String localName)
|
abstract void |
writeEntityReference(java.lang.String name)
|
abstract int |
writePI(java.lang.String target,
java.lang.String data)
|
abstract void |
writePIEnd()
|
abstract void |
writePIStart(java.lang.String target,
boolean addSpace)
|
abstract void |
writeRaw(char[] cbuf,
int offset,
int len)
|
void |
writeRaw(java.lang.String str)
|
abstract void |
writeRaw(java.lang.String str,
int offset,
int len)
|
abstract void |
writeStartTagEmptyEnd()
|
abstract void |
writeStartTagEnd()
|
abstract void |
writeStartTagStart(java.lang.String localName)
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations) |
abstract void |
writeStartTagStart(java.lang.String prefix,
java.lang.String localName)
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations) |
abstract void |
writeXmlDeclaration(java.lang.String version,
java.lang.String enc,
java.lang.String standalone)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int SURR1_FIRST
protected static final int SURR1_LAST
protected static final int SURR2_FIRST
protected static final int SURR2_LAST
protected static final char DEFAULT_QUOTE_CHAR
protected final WriterConfig mConfig
protected final java.lang.String mEncoding
protected final boolean mNsAware
protected final boolean mCheckStructure
protected final boolean mCheckContent
protected final boolean mCheckNames
protected final boolean mFixContent
protected final boolean mAutoCloseOutput
protected java.io.Writer mTextWriter
protected java.io.Writer mAttrValueWriter
protected boolean mXml11
protected XmlWriterWrapper mRawWrapper
writeRaw
methods of this
XmlWriter instance.
protected XmlWriterWrapper mTextWrapper
writeCharacters
methods of this
XmlWriter instance.
protected int mLocPastChars
protected int mLocRowNr
protected int mLocRowStartOffset
Constructor Detail |
---|
protected XmlWriter(WriterConfig cfg, java.lang.String encoding, boolean autoclose) throws java.io.IOException
java.io.IOException
Method Detail |
---|
public void enableXml11()
protected abstract java.io.OutputStream getOutputStream()
protected abstract java.io.Writer getWriter()
public abstract void close() throws java.io.IOException
java.io.IOException
public abstract void flush() throws java.io.IOException
java.io.IOException
public abstract void writeRaw(java.lang.String str, int offset, int len) throws java.io.IOException
java.io.IOException
public void writeRaw(java.lang.String str) throws java.io.IOException
java.io.IOException
public abstract void writeRaw(char[] cbuf, int offset, int len) throws java.io.IOException
java.io.IOException
public abstract void writeCDataStart() throws java.io.IOException
java.io.IOException
public abstract void writeCDataEnd() throws java.io.IOException
java.io.IOException
public abstract void writeCommentStart() throws java.io.IOException
java.io.IOException
public abstract void writeCommentEnd() throws java.io.IOException
java.io.IOException
public abstract void writePIStart(java.lang.String target, boolean addSpace) throws java.io.IOException
java.io.IOException
public abstract void writePIEnd() throws java.io.IOException
java.io.IOException
public abstract int writeCData(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
data
- Contents of the CDATA section to write out
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract int writeCData(char[] cbuf, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeCharacters(java.lang.String data) throws java.io.IOException
java.io.IOException
public abstract void writeCharacters(char[] cbuf, int offset, int len) throws java.io.IOException
java.io.IOException
public abstract int writeComment(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeDTD(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeDTD(java.lang.String rootName, java.lang.String systemId, java.lang.String publicId, java.lang.String internalSubset) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeEntityReference(java.lang.String name) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract int writePI(java.lang.String target, java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeXmlDeclaration(java.lang.String version, java.lang.String enc, java.lang.String standalone) throws java.io.IOException
java.io.IOException
public abstract void writeStartTagStart(java.lang.String localName) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeStartTagStart(java.lang.String prefix, java.lang.String localName) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeStartTagEnd() throws java.io.IOException
java.io.IOException
public abstract void writeStartTagEmptyEnd() throws java.io.IOException
java.io.IOException
public abstract void writeEndTag(java.lang.String localName) throws java.io.IOException
java.io.IOException
public abstract void writeEndTag(java.lang.String prefix, java.lang.String localName) throws java.io.IOException
java.io.IOException
public abstract void writeAttribute(java.lang.String localName, java.lang.String value) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeAttribute(java.lang.String localName, char[] value, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeAttribute(java.lang.String prefix, java.lang.String localName, java.lang.String value) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeAttribute(java.lang.String prefix, java.lang.String localName, char[] value, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
protected abstract int getOutputPtr()
public int getRow()
public int getColumn()
public int getAbsOffset()
public final java.io.Writer wrapAsRawWriter()
writeRaw
method.
public final java.io.Writer wrapAsTextWriter()
public final void verifyNameValidity(java.lang.String name, boolean checkNs) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void reportNwfName(java.lang.String msg) throws javax.xml.stream.XMLStreamException
WstxOutputProperties.P_OUTPUT_VALIDATE_NAMES
is
is enabled.
javax.xml.stream.XMLStreamException
protected void reportNwfName(java.lang.String msg, java.lang.Object arg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void reportNwfContent(java.lang.String msg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void throwOutputError(java.lang.String msg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void throwOutputError(java.lang.String format, java.lang.Object arg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void throwInvalidChar(int c) throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |