Package org.rrd4j.core
Class XmlWriter
- java.lang.Object
-
- org.rrd4j.core.XmlWriter
-
- All Implemented Interfaces:
AutoCloseable
public class XmlWriter extends Object implements AutoCloseable
Extremely simple utility class used to create XML documents.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
XmlWriter.DoubleFormater
-
Field Summary
Fields Modifier and Type Field Description (package private) static String
INDENT_STR
-
Constructor Summary
Constructors Constructor Description XmlWriter(OutputStream stream)
Creates XmlWriter with the specifiedOutputStream
to send XML code to.XmlWriter(OutputStream stream, boolean autoFlush)
Creates XmlWriter with the specified output stream to send XML code to.XmlWriter(PrintWriter stream)
Creates XmlWriter with the specifiedPrintWriter
to send XML code to.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
closeTag()
Closes the corresponding XML tagvoid
flush()
Flushes the output streamString
formatTimestamp(long timestamp)
Format a timestamp using the configuredDateTimeFormatter
void
startTag(String tag)
Opens XML tagXmlWriter
withDoubleFormatter(XmlWriter.DoubleFormater doubleFormatter)
Return a newXmlWriter
that will format time stamp using thisZoneId
XmlWriter
withTimeZone(java.time.ZoneId zid)
Return a newXmlWriter
that will format time stamp as ISO 8601 with this explicit time zoneZoneId
void
writeComment(long timestamp)
Writes a timestamp using the configuredDateTimeFormatter
as an XML comment to output streamvoid
writeComment(Object comment)
Writes XML comment to output streamvoid
writeTag(String tag, boolean value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, double value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, double value, String nanString)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, int value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, long value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, Color value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, Font value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, File value)
Writes <tag>value</tag> to output streamvoid
writeTag(String tag, Object value)
Writes <tag>value</tag> to output stream
-
-
-
Field Detail
-
INDENT_STR
static final String INDENT_STR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
XmlWriter
public XmlWriter(OutputStream stream)
Creates XmlWriter with the specifiedOutputStream
to send XML code to.- Parameters:
stream
-OutputStream
which receives XML code
-
XmlWriter
public XmlWriter(OutputStream stream, boolean autoFlush)
Creates XmlWriter with the specified output stream to send XML code to.- Parameters:
stream
- Output stream which receives XML codeautoFlush
- is the stream to be flushed automatically
-
XmlWriter
public XmlWriter(PrintWriter stream)
Creates XmlWriter with the specifiedPrintWriter
to send XML code to.- Parameters:
stream
-PrintWriter
which receives XML code
-
-
Method Detail
-
withTimeZone
public XmlWriter withTimeZone(java.time.ZoneId zid)
Return a newXmlWriter
that will format time stamp as ISO 8601 with this explicit time zoneZoneId
- Parameters:
zid
-- Returns:
- the XmlWriter
-
withDoubleFormatter
public XmlWriter withDoubleFormatter(XmlWriter.DoubleFormater doubleFormatter)
Return a newXmlWriter
that will format time stamp using thisZoneId
- Parameters:
doubleFormatter
-- Returns:
- the XmlWriter
-
startTag
public void startTag(String tag)
Opens XML tag- Parameters:
tag
- XML tag name
-
closeTag
public void closeTag()
Closes the corresponding XML tag
-
writeTag
public void writeTag(String tag, Object value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, int value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, long value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, double value, String nanString)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
nanString
- aString
object.
-
writeTag
public void writeTag(String tag, double value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, boolean value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, Color value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, Font value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
writeTag
public void writeTag(String tag, File value)
Writes <tag>value</tag> to output stream- Parameters:
tag
- XML tag namevalue
- value to be placed between<tag>
and</tag>
-
flush
public void flush()
Flushes the output stream
-
writeComment
public void writeComment(Object comment)
Writes XML comment to output stream- Parameters:
comment
- comment string
-
writeComment
public void writeComment(long timestamp)
Writes a timestamp using the configuredDateTimeFormatter
as an XML comment to output stream- Parameters:
timestamp
-
-
formatTimestamp
public String formatTimestamp(long timestamp)
Format a timestamp using the configuredDateTimeFormatter
- Parameters:
timestamp
-- Returns:
- the formatted timestamp
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
-