|
||||||||||
| 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/ignored):
<rrd_graph_def>
<!-- use '-' to represent in-memory graph -->
<filename>test.png</filename>
<!--
starting and ending timestamps can be specified by
using at-style time specification, or by specifying
exact timestamps since epoch (without milliseconds)
-->
<span>
<start>now - 1d</start>
<end>now</end>
</span>
<options>
<!--
specify 'true' if you want to use RrdDbPool while
creating graph
-->
<use_pool>false</use_pool>
<anti_aliasing>true</anti_aliasing>
<time_grid>
<show_grid>true</show_grid>
<!-- allowed units: second, minute, hour, day, week, month, year -->
<minor_grid_unit>minute</minor_grid_unit>
<minor_grid_unit_count>60</minor_grid_unit_count>
<major_grid_unit>hour</major_grid_unit>
<major_grid_unit_count>2</major_grid_unit_count>
<label_unit>hour</label_unit>
<label_unit_count>2</label_unit_count>
<label_span>1200</label_span>
<!-- use SimpleDateFormat or strftime-like format to format labels -->
<label_format>dd-MMM-yy</label_format>
</time_grid>
<value_grid>
<show_grid>true</show_grid>
<grid_step>100.0</grid_step>
<label_factor>5</label_factor>
</value_grid>
<no_minor_grid>true</no_minor_grid>
<alt_y_grid>true</alt_y_grid>
<alt_y_mrtg>true</alt_y_mrtg>
<alt_autoscale>true</alt_autoscale>
<alt_autoscale_max>true</alt_autoscale_max>
<units_exponent>3</units_exponent>
<units_length>13</units_length>
<vertical_label>Speed (kbits/sec)</vertical_label>
<width>444</width>
<height>222</height>
<interlaced>true</interlaced>
<image_info>filename = %s, width=%d, height=%d</image_info>
<image_format>png</image_format>
<image_quality>0.8</image_quality>
<background_image>luka.png</background_image>
<overlay_image>luka.png</overlay_image>
<unit>kilos</unit>
<lazy>false</lazy>
<min_value>0</min_value>
<max_value>5000</max_value>
<rigid>true</rigid>
<base>1000</base>
<logarithmic>false</logarithmic>
<colors>
<canvas>#FFFFFF</canvas>
<back>#FFFFFF</back>
<shadea>#AABBCC</shadea>
<shadeb>#DDDDDD</shadeb>
<grid>#FF0000</grid>
<mgrid>#00FF00</mgrid>
<font>#FFFFFF</font>
<frame>#EE00FF</frame>
<arrow>#FF0000</arrow>
</colors>
<no_legend>false</no_legend>
<only_graph>false</only_graph>
<force_rules_legend>false</force_rules_legend>
<title>This is a title</title>
<step>300</step>
<fonts>
<small_font>
<name>Courier</name>
<style>bold italic</style>
<size>12</size>
</small_font>
<large_font>
<name>Courier</name>
<style>plain</style>
<size>11</size>
</large_font>
</fonts>
<first_day_of_week>SUNDAY</first_day_of_week>
</options>
<datasources>
<def>
<name>x</name>
<rrd>test.rrd</rrd>
<source>sun</source>
<cf>AVERAGE</cf>
<backend>FILE</backend>
</def>
<def>
<name>y</name>
<rrd>test.rrd</rrd>
<source>shade</source>
<cf>AVERAGE</cf>
</def>
<cdef>
<name>x_plus_y</name>
<rpn>x,y,+</rpn>
</cdef>
<cdef>
<name>x_minus_y</name>
<rpn>x,y,-</rpn>
</cdef>
<sdef>
<name>x_avg</name>
<source>x</source>
<cf>AVERAGE</cf>
</sdef>
<sdef>
<name>y_max</name>
<source>y</source>
<cf>MAX</cf>
</sdef>
</datasources>
<graph>
<area>
<datasource>x</datasource>
<color>#FF0000</color>
<legend>X value\r</legend>
</area>
<stack>
<datasource>y</datasource>
<color>#00FF00</color>
<legend>Y value\r</legend>
</stack>
<line>
<datasource>x</datasource>
<color>#FF0000</color>
<legend>X value\r</legend>
<width>2</width>
</line>
<print>
<datasource>x</datasource>
<cf>AVERAGE</cf>
<format>Average is %7.3f\c</format>
</print>
<gprint>
<datasource>y</datasource>
<cf>MAX</cf>
<format>Max is %7.3f\c</format>
</gprint>
<hrule>
<value>1250</value>
<color>#0000FF</color>
<legend>This is a horizontal rule</legend>
</hrule>
<vrule>
<time>now-6h</time>
<color>#0000FF</color>
<legend>This is a vertical rule</legend>
</vrule>
<comment>Simple comment</comment>
<comment>One more comment\c</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 method.
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);
| 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 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 error
public 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 error
public 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 error| Method 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 | |||||||||