org.jrobin.core
Class XmlTemplate

java.lang.Object
  extended by org.jrobin.core.XmlTemplate
Direct Known Subclasses:
RrdDefTemplate, RrdGraphDefTemplate

public abstract class XmlTemplate
extends Object

Class used as a base class for various XML template related classes. Class provides methods for XML source parsing and XML tree traversing. XML source may have unlimited number of placeholders (variables) in the format ${variable_name}. Methods are provided to specify variable values at runtime. Note that this class has limited functionality: XML source gets parsed, and variable values are collected. You have to extend this class to do something more useful.


Field Summary
protected  Element root
           
 
Constructor Summary
protected XmlTemplate(File xmlFile)
           
protected XmlTemplate(InputSource xmlSource)
           
protected XmlTemplate(String xmlString)
           
 
Method Summary
 void clearValues()
          Removes all placeholder-value mappings.
protected static Node[] getChildNodes(Node parentNode)
           
protected static Node[] getChildNodes(Node parentNode, String childName)
           
protected  String getChildValue(Node parentNode, String childName)
           
protected  String getChildValue(Node parentNode, String childName, boolean trim)
           
protected  boolean getChildValueAsBoolean(Node parentNode, String childName)
           
protected  double getChildValueAsDouble(Node parentNode, String childName)
           
protected  int getChildValueAsInt(Node parentNode, String childName)
           
protected  long getChildValueAsLong(Node parentNode, String childName)
           
protected static Node getFirstChildNode(Node parentNode, String childName)
           
protected  String getValue(Node parentNode)
           
protected  String getValue(Node parentNode, boolean trim)
           
protected  boolean getValueAsBoolean(Node parentNode)
           
protected  Paint getValueAsColor(Node parentNode)
           
protected  double getValueAsDouble(Node parentNode)
           
protected  int getValueAsInt(Node parentNode)
           
protected  long getValueAsLong(Node parentNode)
           
 String[] getVariables()
          Returns the list of variables that should be set in this template.
protected  boolean hasChildNode(Node parentNode, String childName)
           
 boolean hasVariables()
          Searches the XML template to see if there are variables in there that will need to be set.
protected  boolean isEmptyNode(Node node)
           
 void setVariable(String name, boolean value)
          Sets value for a single XML template variable.
 void setVariable(String name, Calendar value)
          Sets value for a single XML template variable.
 void setVariable(String name, Color value)
          Sets value for a single XML template variable.
 void setVariable(String name, Date value)
          Sets value for a single XML template variable.
 void setVariable(String name, double value)
          Sets value for a single XML template variable.
 void setVariable(String name, int value)
          Sets value for a single XML template variable.
 void setVariable(String name, long value)
          Sets value for a single XML template variable.
 void setVariable(String name, String value)
          Sets value for a single XML template variable.
protected  void validateTagsOnlyOnce(Node parentNode, String[] allowedChildNames)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

root

protected Element root
Constructor Detail

XmlTemplate

protected XmlTemplate(InputSource xmlSource)
               throws IOException,
                      RrdException
Throws:
IOException
RrdException

XmlTemplate

protected XmlTemplate(String xmlString)
               throws IOException,
                      RrdException
Throws:
IOException
RrdException

XmlTemplate

protected XmlTemplate(File xmlFile)
               throws IOException,
                      RrdException
Throws:
IOException
RrdException
Method Detail

clearValues

public void clearValues()
Removes all placeholder-value mappings.


setVariable

public void setVariable(String name,
                        String value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        int value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        long value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        double value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        Color value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        Date value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        Calendar value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

setVariable

public void setVariable(String name,
                        boolean value)
Sets value for a single XML template variable. Variable name should be specified without leading '${' and ending '}' placeholder markers. For example, for a placeholder ${start}, specify start for the name parameter.

Parameters:
name - variable name
value - value to be set in the XML template

hasVariables

public boolean hasVariables()
Searches the XML template to see if there are variables in there that will need to be set.

Returns:
True if variables were detected, false if not.

getVariables

public String[] getVariables()
Returns the list of variables that should be set in this template.

Returns:
List of variable names as an array of strings.

getChildNodes

protected static Node[] getChildNodes(Node parentNode,
                                      String childName)

getChildNodes

protected static Node[] getChildNodes(Node parentNode)

getFirstChildNode

protected static Node getFirstChildNode(Node parentNode,
                                        String childName)
                                 throws RrdException
Throws:
RrdException

hasChildNode

protected boolean hasChildNode(Node parentNode,
                               String childName)

getChildValue

protected String getChildValue(Node parentNode,
                               String childName)
                        throws RrdException
Throws:
RrdException

getChildValue

protected String getChildValue(Node parentNode,
                               String childName,
                               boolean trim)
                        throws RrdException
Throws:
RrdException

getValue

protected String getValue(Node parentNode)

getValue

protected String getValue(Node parentNode,
                          boolean trim)

getChildValueAsInt

protected int getChildValueAsInt(Node parentNode,
                                 String childName)
                          throws RrdException
Throws:
RrdException

getValueAsInt

protected int getValueAsInt(Node parentNode)

getChildValueAsLong

protected long getChildValueAsLong(Node parentNode,
                                   String childName)
                            throws RrdException
Throws:
RrdException

getValueAsLong

protected long getValueAsLong(Node parentNode)

getChildValueAsDouble

protected double getChildValueAsDouble(Node parentNode,
                                       String childName)
                                throws RrdException
Throws:
RrdException

getValueAsDouble

protected double getValueAsDouble(Node parentNode)

getChildValueAsBoolean

protected boolean getChildValueAsBoolean(Node parentNode,
                                         String childName)
                                  throws RrdException
Throws:
RrdException

getValueAsBoolean

protected boolean getValueAsBoolean(Node parentNode)

getValueAsColor

protected Paint getValueAsColor(Node parentNode)
                         throws RrdException
Throws:
RrdException

isEmptyNode

protected boolean isEmptyNode(Node node)

validateTagsOnlyOnce

protected void validateTagsOnlyOnce(Node parentNode,
                                    String[] allowedChildNames)
                             throws RrdException
Throws:
RrdException


Copyright 2003-2008. All Rights Reserved.