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.ObjectSimple API to create well formed XML streams with minimal memory overhead. AXMLElementinstance represents a single element in a XML document.XMLElementcan be used directly or might be subclassed for schema specific convenience methods.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanclosedprivate static java.lang.StringDOCTYPEDOCTYPE declaration templateprivate static java.lang.StringHEADERXML header templateprivate static java.lang.StringHEADER_STANDALONEXML header template for standalone documentsprivate XMLElementlastchildprivate java.lang.Stringnameprivate booleanopenTagDoneprivate booleanrootprotected java.io.WriterwriterWriter for content output
-
Constructor Summary
Constructors Modifier Constructor Description privateXMLElement(java.io.Writer writer, java.lang.String name, boolean root)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.protectedXMLElement(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 private voidaddChildElement(XMLElement child)voidattr(java.lang.String name, int value)Adds an attribute to this element.voidattr(java.lang.String name, long value)Adds an attribute to this element.voidattr(java.lang.String name, java.lang.String value)Adds an attribute to this element.voidclose()Closes this element if it has not been closed before.XMLElementelement(java.lang.String name)Creates a new child element for this element.private voidfinishOpenTag()private voidquote(java.lang.String text)voidtext(java.lang.String text)Adds the given text as a child to this node.
-
-
-
Field Detail
-
HEADER
private static final java.lang.String HEADER
XML header template- See Also:
- Constant Field Values
-
HEADER_STANDALONE
private static final java.lang.String HEADER_STANDALONE
XML header template for standalone documents- See Also:
- Constant Field Values
-
DOCTYPE
private static final java.lang.String DOCTYPE
DOCTYPE declaration template- See Also:
- Constant Field Values
-
writer
protected final java.io.Writer writer
Writer for content output
-
name
private final java.lang.String name
-
openTagDone
private boolean openTagDone
-
closed
private boolean closed
-
lastchild
private XMLElement lastchild
-
root
private final boolean root
-
-
Constructor Detail
-
XMLElement
private XMLElement(java.io.Writer writer, java.lang.String name, boolean root) throws java.io.IOException- Throws:
java.io.IOException
-
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.IOExceptionCreates a root element of a XML document.- Parameters:
name- element namepubId- optional schema public identifiersystem- optional schema system identifierstandalone- iftruethe 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.IOExceptionCreates 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
-
addChildElement
private void addChildElement(XMLElement child) throws java.io.IOException
- Throws:
java.io.IOException
-
finishOpenTag
private void finishOpenTag() throws java.io.IOException- Throws:
java.io.IOException
-
quote
private void quote(java.lang.String text) throws java.io.IOException- Throws:
java.io.IOException
-
attr
public final void attr(java.lang.String name, java.lang.String value) throws java.io.IOExceptionAdds 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 isnullthe 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.IOExceptionAdds 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.IOExceptionAdds 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.IOExceptionAdds 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.IOExceptionCloses this element if it has not been closed before.- Throws:
java.io.IOException- in case of problems with the underlying output
-
-