Class XmlWriter
java.lang.Object
org.apache.rat.report.xml.writer.XmlWriter
- All Implemented Interfaces:
AutoCloseable
Requires a wrapper to be used safely in a multithreaded environment.
Not intended to be subclassed. Please copy and hack!
-
Constructor Summary
ConstructorsConstructorDescriptionXmlWriter(Appendable writer) Constructs an XmlWriter with the specified writer for output. -
Method Summary
Modifier and TypeMethodDescriptionattribute(CharSequence name, CharSequence value) Writes an attribute of an element.cdata(CharSequence content) Writes CDATA content.voidclose()Closes all pending elements.Closes the last element written.closeElement(CharSequence name) Closes back to and including the last instance of the specified element name.comment(CharSequence text) Writes a comment.content(CharSequence content) Writes content.Starts a document by writing a prolog.startElement(CharSequence elementName) Writes the start of an element.
-
Constructor Details
-
XmlWriter
Constructs an XmlWriter with the specified writer for output.- Parameters:
writer- the writer to write to.
-
-
Method Details
-
startDocument
Starts a document by writing a prolog. Calling this method is optional. When writing a document fragment, it should not be called.- Returns:
- this object
- Throws:
OperationNotAllowedException- if called after the first element has been written or once a prolog has already been writtenIOException
-
startElement
Writes the start of an element.- Parameters:
elementName- the name of the element, not null- Returns:
- this object
- Throws:
InvalidXmlException- if the name is not valid for an xml elementOperationNotAllowedException- if called after the first element has been closedIOException
-
comment
Writes a comment.- Parameters:
text- the comment text- Returns:
- this object
- Throws:
OperationNotAllowedException- if called after the first element has been closedIOException
-
attribute
Writes an attribute of an element. Note that this is only allowed directly afterstartElement(CharSequence)or a previousattributecall.- Parameters:
name- the attribute name, not nullvalue- the attribute value, not null- Returns:
- this object
- Throws:
InvalidXmlException- if the name is not valid for an xml attribute or if a value for the attribute has already been writtenOperationNotAllowedException- if called aftercontent(CharSequence)orcloseElement()or before any call tostartElement(CharSequence)IOException
-
content
Writes content. Note that this method does not support CDATA. This method automatically escapes characters.- Parameters:
content- the content to write- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call tostartElement(CharSequence)or after the first element has been closedIOException
-
cdata
Writes CDATA content. This method DOES NOT automatically escape characters. It will remove enclosed CDATA closing strings (e.g.]]>)- Parameters:
content- the content to write- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call tostartElement(CharSequence)or after the first element has been closedIOException
-
closeElement
Closes the last element written.- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call tostartElement(CharSequence)or after the first element has been closedIOException
-
closeElement
Closes back to and including the last instance of the specified element name.- Parameters:
name- The name of the element to close. Must not benull.- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call tostartElement(CharSequence)or after the first element has been closedIOException
-
closeDocument
Closes all pending elements. When appropriate, resources are also flushed and closed. No exception is raised when called upon a document whose root element has already been closed.- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call tostartElement(CharSequence)IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-
append
- Throws:
IOException
-