public class VariableSubstitutor
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
protected boolean |
bracesRequired
Whether braces are required for substitution.
|
private static long |
serialVersionUID |
protected static int |
TYPE_AT
A constant for file type.
|
protected static int |
TYPE_JAVA_PROPERTIES
A constant for file type.
|
protected static int |
TYPE_PLAIN
A constant for file type.
|
protected static int |
TYPE_SHELL
A constant for file type.
|
protected static int |
TYPE_XML
A constant for file type.
|
protected static java.util.Map |
typeNameToConstantMap
A mapping of file type names to corresponding integer constants.
|
protected java.util.Properties |
variables
The variable value mappings
|
Constructor and Description |
---|
VariableSubstitutor(java.util.Properties variables)
Constructs a new substitutor using the specified variable value mappings.
|
Modifier and Type | Method and Description |
---|---|
boolean |
areBracesRequired()
Get whether this substitutor requires braces.
|
protected java.lang.String |
escapeSpecialChars(java.lang.String str,
int type)
Escapes the special characters in the specified string using file type specific rules.
|
protected int |
getTypeConstant(java.lang.String type)
Returns the internal constant for the specified file type.
|
void |
setBracesRequired(boolean braces)
Specify whether this substitutor requires braces.
|
int |
substitute(java.io.InputStream in,
java.io.OutputStream out,
java.lang.String type,
java.lang.String encoding)
Substitutes the variables found in the specified input stream.
|
int |
substitute(java.io.Reader reader,
java.io.Writer writer,
java.lang.String type)
Substitutes the variables found in the data read from the specified reader.
|
java.lang.String |
substitute(java.lang.String str,
java.lang.String type)
Substitutes the variables found in the specified string.
|
private static final long serialVersionUID
protected transient java.util.Properties variables
protected boolean bracesRequired
protected static final int TYPE_PLAIN
protected static final int TYPE_JAVA_PROPERTIES
protected static final int TYPE_XML
protected static final int TYPE_SHELL
protected static final int TYPE_AT
protected static final java.util.Map typeNameToConstantMap
public VariableSubstitutor(java.util.Properties variables)
variables
- the map with variable value mappingspublic boolean areBracesRequired()
public void setBracesRequired(boolean braces)
public java.lang.String substitute(java.lang.String str, java.lang.String type) throws java.lang.IllegalArgumentException
str
- the string to check for variablestype
- the escaping type or null for plainjava.lang.IllegalArgumentException
- if unknown escaping type specifiedpublic int substitute(java.io.InputStream in, java.io.OutputStream out, java.lang.String type, java.lang.String encoding) throws java.lang.IllegalArgumentException, java.io.UnsupportedEncodingException, java.io.IOException
in
- the input stream to readout
- the output stream to writetype
- the file type or null for plainencoding
- the character encoding or null for defaultjava.lang.IllegalArgumentException
- if unknown file type specifiedjava.io.UnsupportedEncodingException
- if encoding not supportedjava.io.IOException
- if an I/O error occurspublic int substitute(java.io.Reader reader, java.io.Writer writer, java.lang.String type) throws java.lang.IllegalArgumentException, java.io.IOException
reader
- the reader to readwriter
- the writer used to write data outtype
- the file type or null for plainjava.lang.IllegalArgumentException
- if unknown file type specifiedjava.io.IOException
- if an I/O error occursprotected int getTypeConstant(java.lang.String type)
type
- the type name or null for plainprotected java.lang.String escapeSpecialChars(java.lang.String str, int type)
str
- the string to check for special characterstype
- the target file type (one of TYPE_xxx)