Package org.jacoco.report.internal.xml
Class XMLElement
- java.lang.Object
-
- org.jacoco.report.internal.xml.XMLElement
-
- Direct Known Subclasses:
HTMLElement
,ReportElement
public class XMLElement extends java.lang.Object
Simple API to create well formed XML streams with minimal memory overhead. AXMLElement
instance represents a single element in a XML document.XMLElement
can be used directly or might be subclassed for schema specific convenience methods.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.Writer
writer
Writer for content output
-
Constructor Summary
Constructors Modifier Constructor Description XMLElement(java.lang.String name, java.lang.String pubId, java.lang.String system, boolean standalone, java.lang.String encoding, java.io.OutputStream output)
Creates a root element of a XML document.protected
XMLElement(java.lang.String name, XMLElement parent)
Creates a new child element within a XML document.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attr(java.lang.String name, int value)
Adds an attribute to this element.void
attr(java.lang.String name, long value)
Adds an attribute to this element.void
attr(java.lang.String name, java.lang.String value)
Adds an attribute to this element.void
close()
Closes this element if it has not been closed before.XMLElement
element(java.lang.String name)
Creates a new child element for this element.void
text(java.lang.String text)
Adds the given text as a child to this node.
-
-
-
Constructor Detail
-
XMLElement
public XMLElement(java.lang.String name, java.lang.String pubId, java.lang.String system, boolean standalone, java.lang.String encoding, java.io.OutputStream output) throws java.io.IOException
Creates a root element of a XML document.- Parameters:
name
- element namepubId
- optional schema public identifiersystem
- optional schema system identifierstandalone
- iftrue
the document is declared as standaloneencoding
- character encoding used for outputoutput
- output stream will be closed if the root element is closed- Throws:
java.io.IOException
- in case of problems with the underlying output
-
XMLElement
protected XMLElement(java.lang.String name, XMLElement parent) throws java.io.IOException
Creates a new child element within a XML document. May only be called before the parent element has been closed.- Parameters:
name
- element nameparent
- parent of this element- Throws:
java.io.IOException
- in case of problems with the underlying output or if the parent element is already closed
-
-
Method Detail
-
attr
public final void attr(java.lang.String name, java.lang.String value) throws java.io.IOException
Adds an attribute to this element. May only be called before an child element is added or this element has been closed. The attribute value will be quoted. If the value isnull
the attribute will not be added.- Parameters:
name
- attribute namevalue
- attribute value ornull
- Throws:
java.io.IOException
- in case of problems with the underlying output or if the element is already closed.
-
attr
public final void attr(java.lang.String name, int value) throws java.io.IOException
Adds an attribute to this element. May only be called before an child element is added or this element has been closed. The attribute value is the decimal representation of the given int value.- Parameters:
name
- attribute namevalue
- attribute value- Throws:
java.io.IOException
- in case of problems with the underlying output or if the element is already closed.
-
attr
public final void attr(java.lang.String name, long value) throws java.io.IOException
Adds an attribute to this element. May only be called before an child element is added or this element has been closed. The attribute value is the decimal representation of the given long value.- Parameters:
name
- attribute namevalue
- attribute value- Throws:
java.io.IOException
- in case of problems with the underlying output or if the element is already closed.
-
text
public final void text(java.lang.String text) throws java.io.IOException
Adds the given text as a child to this node. The text will be quoted. May only be called before this element has been closed.- Parameters:
text
- text to add- Throws:
java.io.IOException
- in case of problems with the underlying output or if the element is already closed.
-
element
public XMLElement element(java.lang.String name) throws java.io.IOException
Creates a new child element for this element. Might be overridden in subclasses to return a instance of the subclass.- Parameters:
name
- name of the child element- Returns:
- child element instance
- Throws:
java.io.IOException
- in case of problems with the underlying output
-
close
public final void close() throws java.io.IOException
Closes this element if it has not been closed before.- Throws:
java.io.IOException
- in case of problems with the underlying output
-
-