Class 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.

    • 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)
      • hasChildNode

        protected boolean hasChildNode​(Node parentNode,
                                       String childName)
      • getValue

        protected String getValue​(Node parentNode)
      • getValue

        protected String getValue​(Node parentNode,
                                  boolean trim)
      • getValueAsInt

        protected int getValueAsInt​(Node parentNode)
      • getValueAsLong

        protected long getValueAsLong​(Node parentNode)
      • getValueAsDouble

        protected double getValueAsDouble​(Node parentNode)
      • getValueAsBoolean

        protected boolean getValueAsBoolean​(Node parentNode)
      • isEmptyNode

        protected boolean isEmptyNode​(Node node)