Package org.simpleframework.xml.core
Class TemplateEngine
java.lang.Object
org.simpleframework.xml.core.TemplateEngine
The
TemplateEngine
object is used to create strings
which have system variable names replaced with their values.
This is used by the Source
context object to ensure
that values taken from an XML element or attribute can be values
values augmented with system or environment variable values.
tools=${java.home}/lib/tools.jarAbove is an example of the use of an system variable that has been inserted into a plain Java properties file. This will be converted to the full path to tools.jar when the system variable "java.home" is replaced with the matching value.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Filter
This is the filter used to replace templated variables.private Template
This is used to accumulate the bytes for the variable name.private int
This is used to keep track of the buffer seek offset.private Template
This is used to store the text that are to be processed.private Template
This is used to accumulate the transformed text value. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
This method is used to clear the contents of the buffer.private void
name()
This method is used to extract text from the property value that matches the pattern "${ *TEXT }".private void
parse()
This extracts the value from the Java properties text.This method is used to append the provided text and then it converts the buffered text to return the corrosponding text.private void
replace()
This will replace the accumulated for an system variable name with the value of that system variable.private void
This will replace the accumulated for an system variable name with the value of that system variable.private void
This will replace the accumulated for an system variable name with the value of that system variable.
-
Field Details
-
source
This is used to store the text that are to be processed. -
name
This is used to accumulate the bytes for the variable name. -
text
This is used to accumulate the transformed text value. -
filter
This is the filter used to replace templated variables. -
off
private int offThis is used to keep track of the buffer seek offset.
-
-
Constructor Details
-
TemplateEngine
Constructor for theTemplateEngine
object. This is used to create a parsing buffer, which can be used to replace filter variable names with their corrosponding values.- Parameters:
filter
- this is the filter used to provide replacements
-
-
Method Details
-
process
This method is used to append the provided text and then it converts the buffered text to return the corrosponding text. The contents of the buffer remain unchanged after the value is buffered. It must be cleared if used as replacement only.- Parameters:
value
- this is the value to append to the buffer- Returns:
- returns the value of the buffer after the append
-
parse
private void parse()This extracts the value from the Java properties text. This will basically ready any text up to the first occurance of an equal of a terminal. If a terminal character is read this returns without adding the terminal to the value. -
name
private void name()This method is used to extract text from the property value that matches the pattern "${ *TEXT }". Such patterns within the properties file are considered to be system variables, this will replace instances of the text pattern with the matching system variable, if a matching variable does not exist the value remains unmodified. -
replace
private void replace()This will replace the accumulated for an system variable name with the value of that system variable. If a value does not exist for the variable name, then the name is put into the value so that the value remains unmodified. -
replace
This will replace the accumulated for an system variable name with the value of that system variable. If a value does not exist for the variable name, then the name is put into the value so that the value remains unmodified.- Parameters:
name
- this is the name of the system variable
-
replace
This will replace the accumulated for an system variable name with the value of that system variable. If a value does not exist for the variable name, then the name is put into the value so that the value remains unmodified.- Parameters:
name
- this is the name of the system variable
-
clear
public void clear()This method is used to clear the contents of the buffer. This includes the contents of all buffers used to transform the value of the buffered text with system variable values. Once invoked the instance can be reused as a clean buffer.
-