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.void
close()
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:
startDocument
in 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:
openElement
in 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:
attribute
in 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:
content
in 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#openElement
or after the first element has been closedIOException
-
closeElement
Closes the last element written.- Specified by:
closeElement
in 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#openElement
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.- Specified by:
closeDocument
in interfaceIXmlWriter
- Returns:
- this object
- Throws:
OperationNotAllowedException
- if called before any call toopenElement(java.lang.CharSequence)
OperationNotAllowedException
- if called before any call to#openElement
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-