📄 rrdgraphdef.java
字号:
* or "TOTAL" (since 1.3.1)
* @param format Format string. For example: "speed is @5.2 @sbits/sec@c", "temperature = @0 degrees"
* @param base Base value for the formatting, defaults to the graphing base value
* @throws RrdException Thrown in case of JRobin specific error
*/
public void gprint( String sourceName, String consolFun, String format, double base ) throws RrdException
{
addComment( new Gprint(sourceName, consolFun, format, base) );
}
/**
* Exports RrdGraphDef (graph definition) object in XML format to output stream.
* Generated code can be parsed with {@link RrdGraphDefTemplate} class.
* @param stream Output stream to send XML code to
*/
public void exportXmlTemplate(OutputStream stream) {
XmlWriter xml = new XmlWriter(stream);
xml.startTag("rrd_graph_def");
// SPAN
xml.startTag("span");
xml.writeTag("start", getStartTime() );
xml.writeTag("end", getEndTime() );
xml.closeTag(); // span
// OPTIONS
xml.startTag("options");
xml.writeTag("anti_aliasing", antiAliasing);
xml.writeTag("arrow_color", arrowColor);
xml.writeTag("axis_color", axisColor);
xml.writeTag("back_color", backColor);
if(background != null) {
xml.writeTag("background", background);
}
xml.writeTag("base_value", baseValue);
xml.writeTag("canvas", canvasColor);
xml.writeTag("left_padding", chart_lpadding);
if(normalFont != null) {
xml.writeTag("default_font", normalFont);
}
xml.writeTag("default_font_color", normalFontColor);
xml.writeTag("frame_color", frameColor);
xml.writeTag("front_grid", frontGrid);
if(gridRange != null) {
gridRange.exportXmlTemplate(xml);
}
xml.writeTag("grid_x", gridX);
xml.writeTag("grid_y", gridY);
if(borderStroke != null) {
xml.startTag("border");
xml.writeTag("color", borderColor);
xml.writeTag("width", (int)borderStroke.getLineWidth());
xml.closeTag(); // border
}
xml.writeTag("major_grid_color", majorGridColor);
xml.writeTag("major_grid_x", majorGridX);
xml.writeTag("major_grid_y", majorGridY);
xml.writeTag("minor_grid_color", minorGridColor);
xml.writeTag("minor_grid_x", minorGridX);
xml.writeTag("minor_grid_y", minorGridY);
if(overlay != null) {
xml.writeTag("overlay", overlay);
}
xml.writeTag("show_legend", showLegend);
xml.writeTag("show_signature", drawSignature);
if(tAxis != null) {
tAxis.exportXmlTemplate(xml);
}
if(timeAxisLabel != null) {
timeAxisLabel.exportXmlTemplate(xml);
}
if(title != null) {
title.exportXmlTemplate(xml);
}
if(titleFont != null) {
xml.writeTag("title_font", titleFont);
}
xml.writeTag("title_font_color", titleFontColor);
if(scaleIndex != ValueFormatter.NO_SCALE) {
xml.writeTag("units_exponent", getUnitsExponent());
}
if(vAxis != null) {
vAxis.exportXmlTemplate(xml);
}
if(valueAxisLabel != null) {
xml.writeTag("vertical_label", valueAxisLabel);
}
xml.closeTag(); // options
// DATASOURCES
xml.startTag("datasources");
// defs
for ( int i = 0; i < fetchSources.size(); i++ )
fetchSources.get( i ).exportXml(xml);
// cdefs and sdefs
for (int i = 0; i < cdefList.size(); i++ ) {
Cdef cdef = (Cdef) cdefList.get(i);
cdef.exportXml(xml);
}
xml.closeTag(); // datasources
xml.startTag("graph");
for ( int i = 0; i < comments.size(); i++ )
{
Comment cmt = (Comment) comments.get(i);
if ( cmt.commentType == Comment.CMT_LEGEND || cmt.commentType == Comment.CMT_NOLEGEND)
{
PlotDef pDef = (PlotDef) plotDefs.get( ((Legend) cmt).getPlofDefIndex() );
pDef.exportXmlTemplate(xml, cmt.text);
}
else if(cmt instanceof TimeAxisLabel) {
// NOP: already exported in the options section
}
else {
cmt.exportXmlTemplate(xml);
}
}
xml.closeTag(); // graph
xml.closeTag(); // rrd_graph_def
xml.flush();
}
// ================================================================
// -- Protected (package) methods
// ================================================================
protected boolean isLazy() {
return lazyGeneration;
}
protected Title getTitle() {
return title;
}
protected String getVerticalLabel() {
return valueAxisLabel;
}
protected Color getBackColor() {
return backColor;
}
protected Color getCanvasColor() {
return canvasColor;
}
protected Color getImageBorderColor() {
return borderColor;
}
protected BasicStroke getImageBorderStroke() {
return borderStroke;
}
protected Color getTitleFontColor() {
return titleFontColor;
}
protected Color getDefaultFontColor() {
return normalFontColor;
}
protected Font getTitleFont() {
return titleFont;
}
protected Font getDefaultFont() {
return normalFont;
}
protected Color getMajorGridColor() {
return majorGridColor;
}
protected Color getMinorGridColor() {
return minorGridColor;
}
protected Color getFrameColor() {
return frameColor;
}
protected Color getAxisColor() {
return axisColor;
}
protected Color getArrowColor() {
return arrowColor;
}
protected Color getBorderColor() {
return borderColor;
}
protected BasicStroke getBorderStroke() {
return borderStroke;
}
protected boolean showMinorGridX() {
return minorGridX;
}
protected boolean showMinorGridY() {
return minorGridY;
}
protected boolean showMajorGridX() {
return majorGridX;
}
protected boolean showMajorGridY() {
return majorGridY;
}
protected boolean showGridX() {
return gridX;
}
protected boolean showGridY() {
return gridY;
}
protected boolean drawFrontGrid() {
return frontGrid;
}
protected boolean showLegend() {
return showLegend;
}
protected boolean showSignature() {
return drawSignature;
}
protected boolean isFrontGrid() {
return frontGrid;
}
protected boolean useAntiAliasing() {
return antiAliasing;
}
protected int getChartLeftPadding() {
return chart_lpadding;
}
protected File getBackground() {
return background;
}
protected File getOverlay() {
return overlay;
}
protected double getBaseValue() {
return baseValue;
}
protected int getScaleIndex() {
return scaleIndex;
}
protected GridRange getGridRange() {
return gridRange;
}
protected ValueAxisUnit getValueAxis() {
return vAxis;
}
protected TimeAxisUnit getTimeAxis() {
return tAxis;
}
protected int getFirstDayOfWeek() {
return firstDayOfWeek;
}
protected PlotDef[] getPlotDefs()
{
return (PlotDef[]) plotDefs.toArray( new PlotDef[] {} );
}
protected Comment[] getComments()
{
return (Comment[]) comments.toArray( new Comment[] {} );
}
protected int getCommentLineCount()
{
return ( comments.size() > 0 ? commentLines + commentLineShift : 0 );
}
// ================================================================
// -- Private methods
// ================================================================
private void addComment( Comment cmt )
{
commentLines += cmt.getLineCount();
commentLineShift = (cmt.isCompleteLine() ? 0 : 1);
comments.add( cmt );
}
private void addLegend( String legend, Color color ) throws RrdException
{
// Always add the item, even if it's empty, always add the index
// of the graph this legend is for
addComment( new Legend(legend, color, plotDefs.size() - 1 ) );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -