Class XmlWriter
java.lang.Object
org.apache.rat.report.xml.writer.impl.base.XmlWriter
- All Implemented Interfaces:
AutoCloseable,IXmlWriter
Lightweight IXmlWriter implementation.
Requires a wrapper to be used safely in a multithreaded environment.
Not intended to be subclassed. Please copy and hack!
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionattribute(CharSequence name, CharSequence value)Writes an attribute of an element.voidclose()Closes all pending elements.Closes the last element written.content(CharSequence content)Writes content.openElement(CharSequence elementName)Writes the start of an element.Starts a document by writing a prolog.
-
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.- Specified by:
startDocumentin interfaceIXmlWriter- Returns:
- this object
- Throws:
OperationNotAllowedException- if called after the first element has been written or once a prolog has already been writtenOperationNotAllowedException- if called after the first element has been written or once a prolog has already been writtenIOException
-
openElement
Writes the start of an element.- Specified by:
openElementin interfaceIXmlWriter- 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 closedInvalidXmlException- if the name is not valid for an xml elementOperationNotAllowedException- if called after the first element has been closedIOException
-
attribute
Writes an attribute of an element. Note that this is only allowed directly afteropenElement(CharSequence)orattribute(java.lang.CharSequence, java.lang.CharSequence).- Specified by:
attributein interfaceIXmlWriter- 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 toopenElement(CharSequence)InvalidXmlException- if the name is not valid for an xml attribute or if a value for the attribute has already been writtenOperationNotAllowedException- if called after#content(CharSequence)or#closeElement()or before any call to#openElement(CharSequence)IOException
-
content
Writes content. Calling this method will automatically Note that this method does not use CDATA.- Specified by:
contentin interfaceIXmlWriter- Parameters:
content- the content to write- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call toopenElement(java.lang.CharSequence)or after the first element has been closedOperationNotAllowedException- if called before any call to#openElementor after the first element has been closedIOException
-
closeElement
Closes the last element written.- Specified by:
closeElementin interfaceIXmlWriter- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call toopenElement(java.lang.CharSequence)or after the first element has been closedOperationNotAllowedException- if called before any call to#openElementor 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.- Specified by:
closeDocumentin interfaceIXmlWriter- Returns:
- this object
- Throws:
OperationNotAllowedException- if called before any call toopenElement(java.lang.CharSequence)OperationNotAllowedException- if called before any call to#openElementIOException
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-