Package org.rrd4j.core
Class XmlTemplate
java.lang.Object
org.rrd4j.core.XmlTemplate
- Direct Known Subclasses:
RrdDefTemplate
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
-
Constructor Summary
Constructors Modifier Constructor Description protected
XmlTemplate(File xmlFile)
Constructor for XmlTemplate.protected
XmlTemplate(String xmlString)
Constructor for XmlTemplate.protected
XmlTemplate(InputSource xmlSource)
Constructor for XmlTemplate. -
Method Summary
Modifier and Type Method Description void
clearValues()
Removes all placeholder-value mappings.protected static Node[]
getChildNodes(Node parentNode)
getChildNodes.protected static Node[]
getChildNodes(Node parentNode, String childName)
getChildNodes.protected String
getChildValue(Node parentNode, String childName)
getChildValue.protected String
getChildValue(Node parentNode, String childName, boolean trim)
getChildValue.protected boolean
getChildValueAsBoolean(Node parentNode, String childName)
getChildValueAsBoolean.protected double
getChildValueAsDouble(Node parentNode, String childName)
getChildValueAsDouble.protected int
getChildValueAsInt(Node parentNode, String childName)
getChildValueAsInt.protected long
getChildValueAsLong(Node parentNode, String childName)
getChildValueAsLong.protected static Node
getFirstChildNode(Node parentNode, String childName)
getFirstChildNode.protected String
getValue(Node parentNode)
getValue.protected String
getValue(Node parentNode, boolean trim)
getValue.protected boolean
getValueAsBoolean(Node parentNode)
getValueAsBoolean.protected Paint
getValueAsColor(Node parentNode)
getValueAsColor.protected double
getValueAsDouble(Node parentNode)
getValueAsDouble.protected int
getValueAsInt(Node parentNode)
getValueAsInt.protected long
getValueAsLong(Node parentNode)
getValueAsLong.String[]
getVariables()
Returns the list of variables that should be set in this template.protected boolean
hasChildNode(Node parentNode, String childName)
hasChildNode.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)
isEmptyNode.void
setVariable(String name, boolean 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, Color value)
Sets value for a single XML template variable.void
setVariable(String name, String 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, Date value)
Sets value for a single XML template variable.protected void
validateTagsOnlyOnce(Node parentNode, String[] allowedChildNames)
validateTagsOnlyOnce.
-
Field Details
-
Constructor Details
-
XmlTemplate
Constructor for XmlTemplate.
- Parameters:
xmlSource
- aInputSource
object.- Throws:
IOException
- if any.
-
XmlTemplate
Constructor for XmlTemplate.
- Parameters:
xmlString
- aString
object.- Throws:
IOException
- if any.
-
XmlTemplate
Constructor for XmlTemplate.
- Parameters:
xmlFile
- aFile
object.- Throws:
IOException
- if any.
-
-
Method Details
-
clearValues
public void clearValues()Removes all placeholder-value mappings. -
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- value to be set in the XML template
-
setVariable
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}
, specifystart
for thename
parameter.- Parameters:
name
- variable namevalue
- 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
Returns the list of variables that should be set in this template.- Returns:
- List of variable names as an array of strings.
-
getChildNodes
getChildNodes.
-
getChildNodes
getChildNodes.
-
getFirstChildNode
getFirstChildNode.
-
hasChildNode
hasChildNode.
-
getChildValue
getChildValue.
-
getChildValue
getChildValue.
-
getValue
getValue.
-
getValue
getValue.
-
getChildValueAsInt
getChildValueAsInt. -
getValueAsInt
getValueAsInt.- Parameters:
parentNode
- aNode
object.- Returns:
- a int.
-
getChildValueAsLong
getChildValueAsLong. -
getValueAsLong
getValueAsLong.- Parameters:
parentNode
- aNode
object.- Returns:
- a long.
-
getChildValueAsDouble
getChildValueAsDouble. -
getValueAsDouble
getValueAsDouble.- Parameters:
parentNode
- aNode
object.- Returns:
- a double.
-
getChildValueAsBoolean
getChildValueAsBoolean. -
getValueAsBoolean
getValueAsBoolean.- Parameters:
parentNode
- aNode
object.- Returns:
- a boolean.
-
getValueAsColor
getValueAsColor. -
isEmptyNode
isEmptyNode.- Parameters:
node
- aNode
object.- Returns:
- a boolean.
-
validateTagsOnlyOnce
validateTagsOnlyOnce.
-