|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jrobin.core.XmlTemplate
org.jrobin.graph.RrdGraphDefTemplate
public class RrdGraphDefTemplate
Class used to create an arbitrary number of RrdGraphDef (graph definition) objects from a single XML template. XML template can be supplied as an XML InputSource, XML file or XML formatted string.
Here is an example of a properly formatted XML template with all available options in it (unwanted options can be removed):
<rrd_graph_def> <span> <!-- ISO FORMAT: yyyy-MM-dd HH:mm:ss --> <start>2004-02-27 13:35:00</start> <!-- timestamp in seconds is also allowed --> <end>1234567890</end> </span> <options> <anti_aliasing>true</anti_aliasing> <arrow_color>#FF0000</arrow_color> <axis_color>#00FF00</axis_color> <back_color>#00FF00</back_color> <background>#FFFFFF</background> <base_value>1024</base_value> <canvas>#112211</canvas> <left_padding>55</left_padding> <default_font> <name>Times</name> <style>BOLD ITALIC</style> <size>15</size> </default_font> <default_font_color>#000000</default_font_color> <frame_color>#0000FF</frame_color> <front_grid>true</front_grid> <grid_range> <lower>100</lower> <upper>200</upper> <rigid>false</rigid> </grid_range> <grid_x>true</grid_x> <grid_y>false</grid_y> <border> <color>#00FFFF</color> <width>2</width> </border> <major_grid_color>#00FF00</major_grid_color> <major_grid_x>true</major_grid_x> <major_grid_y>false</major_grid_y> <minor_grid_color>#00FFFF</minor_grid_color> <minor_grid_x>true</minor_grid_x> <minor_grid_y>false</minor_grid_y> <overlay>overlay_image.png</overlay> <show_legend>true</show_legend> <show_signature>false</show_signature> <time_axis> <!-- ALLOWED TIME UNITS: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR --> <min_grid_time_unit>HOUR</min_grid_time_unit> <min_grid_unit_steps>4</min_grid_unit_steps> <maj_grid_time_unit>DAY</maj_grid_time_unit> <maj_grid_unit_steps>2</maj_grid_unit_steps> <date_format>HH:mm</date_format> <center_labels>true</center_labels> <!-- ALLOWED DAYS OF WEEK: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY --> <first_day_of_week>MONDAY</first_day_of_week> </time_axis> <time_axis_label>time</time_axis_label> <title>Graph title</title> <title_font> <name>Verdana</name> <style>BOLD</style> <size>17</size> </title_font> <title_font_color>#FF0000</title_font_color> <units_exponent>6</units_exponent> <value_axis> <grid_step>100</grid_step> <label_step>200</label_step> </value_axis> <vertical_label>voltage [V]</vertical_label> </options> <datasources> <def> <name>input</name> <rrd>test1.rrd</rrd> <source>inOctets</source> <cf>AVERAGE</cf> </def> <def> <name>output</name> <rrd>test2.rrd</rrd> <source>outOctets</source> <cf>MAX</cf> <backend>FILE</backend> </def> <def> <name>input8</name> <rpn>input,8,*</rpn> </def> <def> <name>output8</name> <rpn>output,8,*,-1,*</rpn> </def> <def> <name>avgOutput8</name> <datasource>output8</datasource> <cf>AVERAGE</cf> </def> <export_data> <file>exportdata1.xml</file> <ds_name_prefix>traffic</ds_name_prefix> </export_data> <export_data> <file>exportdata2.xml</file> <use_legend_names>true</use_legend_names> </export_data> <export_data> <file>exportdata3.xml</file> </export_data> </datasources> <graph> <area> <datasource>input</datasource> <color>#FF0000</color> <legend>Input traffic</legend> </area> <area> <datasource>output</datasource> <color>#00FF00</color> <legend>Output traffic</legend> </area> <stack> <datasource>input8</datasource> <color>#AA00AA</color> <legend>Stacked input@r</legend> </stack> <line> <datasource>input</datasource> <color>#AB7777</color> <legend>Input traffic@l</legend> </line> <line> <datasource>output</datasource> <color>#AA00AA</color> <legend>Output traffic@r</legend> <width>2</width> </line> <area> <time1>2004-02-25 12:00:01</time1> <time2>1000222333</time2> <value1>1001.23</value1> <value2>2765.45</value2> <color>#AABBCC</color> <legend>simeple two point area</legend> </area> <line> <time1>1000111444</time1> <time2>2004-02-25 12:00:01</time2> <value1>1009.23</value1> <value2>9002.45</value2> <color>#AABB33</color> <legend>simple two point line</legend> <width>5</width> </line> <gprint> <datasource>input</datasource> <cf>AVERAGE</cf> <format>Average input: @2@c</format> </gprint> <gprint> <datasource>output</datasource> <cf>TOTAL</cf> <format>total output: @2@r</format> <-- optional base value --> <base>1024</base> </gprint> <hrule> <value>1234.5678</value> <color>#112233</color> <legend>horizontal rule</legend> <width>3</width> </hrule> <vrule> <time>2004-02-22 17:43:57</time> <color>#112299</color> <legend>vertical rule</legend> <width>6</width> </vrule> <time> <format>Current time: @t</format> <pattern>MMM dd, yyyy HH:mm:ss</pattern> </time> <time> <format>Month: @t</format> <pattern>MMMM yyyy</pattern> <value>2004-01-01 12:00:00</value> </time> <comment>Created with JRobin</comment> </graph> </rrd_graph_def>Notes on the template syntax:
RrdGraphDef
class methods. If you are not sure what some XML tag means, check javadoc
for the corresponding class.
comment
,title
, time
,
gprint
or legend
tags
true
, on
, yes
, y
,
or 1
to specify boolean true
value (anything else will
be treated as false
).
<some_tag>
and
</some_tag>
) can be replaced with
a variable of the following form: ${variable_name}
. Use
setVariable()
methods from the base class to replace
template variables with real values at runtime.Typical usage scenario:
<rrd_graph_def> <span> <start>${start}</start> <end>${end}</end> </span> ...
RrdGraphDefTemplate t = new RrdGraphDefTemplate(new File(template.xml));
t.setVariable("start", new GregorianCalendar(2004, 2, 25)); t.setVariable("end", new GregorianCalendar(2004, 2, 26));
RrdGraphDef gdef = t.getRrdGraphDef(); RrdGraph g = new RrdGraph(gdef); g.saveAsPNG("graph.png");
Field Summary |
---|
Fields inherited from class org.jrobin.core.XmlTemplate |
---|
root |
Constructor Summary | |
---|---|
RrdGraphDefTemplate(File xmlFile)
Creates template object from the file containing XML template code |
|
RrdGraphDefTemplate(InputSource inputSource)
Creates template object from any parsable XML source |
|
RrdGraphDefTemplate(String xmlString)
Creates template object from the string containing XML template code |
Method Summary | |
---|---|
RrdGraphDef |
getRrdGraphDef()
Creates RrdGraphDef object which can be used to create RrdGraph object (actual JRobin graphs). |
Methods inherited from class org.jrobin.core.XmlTemplate |
---|
clearValues, getChildNodes, getChildNodes, getChildValue, getChildValue, getChildValueAsBoolean, getChildValueAsDouble, getChildValueAsInt, getChildValueAsLong, getFirstChildNode, getValue, getValue, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, getVariables, hasChildNode, hasVariables, isEmptyNode, setVariable, setVariable, setVariable, setVariable, setVariable, setVariable, setVariable, setVariable, validateTagsOnlyOnce |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RrdGraphDefTemplate(InputSource inputSource) throws IOException, RrdException
inputSource
- XML source
IOException
- thrown in case of I/O error
RrdException
- usually thrown in case of XML related errorpublic RrdGraphDefTemplate(File xmlFile) throws IOException, RrdException
xmlFile
- file containing XML template
IOException
- thrown in case of I/O error
RrdException
- usually thrown in case of XML related errorpublic RrdGraphDefTemplate(String xmlString) throws IOException, RrdException
xmlString
- string containing XML template
IOException
- thrown in case of I/O error
RrdException
- usually thrown in case of XML related errorMethod Detail |
---|
public RrdGraphDef getRrdGraphDef() throws RrdException
setVariable()
method information to
understand how to supply values for template variables.
RrdException
- Thrown if parsed XML template contains invalid (unrecognized) tags
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |