|
|||||||||
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(java.io.File xmlFile)
Creates template object from the file containing XML template code |
|
RrdGraphDefTemplate(org.xml.sax.InputSource inputSource)
Creates template object from any parsable XML source |
|
RrdGraphDefTemplate(java.lang.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(org.xml.sax.InputSource inputSource) throws java.io.IOException, RrdException
inputSource
- XML source
java.io.IOException
- thrown in case of I/O error
RrdException
- usually thrown in case of XML related errorpublic RrdGraphDefTemplate(java.io.File xmlFile) throws java.io.IOException, RrdException
xmlFile
- file containing XML template
java.io.IOException
- thrown in case of I/O error
RrdException
- usually thrown in case of XML related errorpublic RrdGraphDefTemplate(java.lang.String xmlString) throws java.io.IOException, RrdException
xmlString
- string containing XML template
java.io.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 |