public class ExprLookup extends org.apache.commons.lang.text.StrLookup
ExprLookup.Variables vars = new ExprLookup.Variables();
vars.add(new ExprLookup.Variable("String", org.apache.commons.lang.StringUtils.class));
vars.add(new ExprLookup.Variable("Util", new Utility("Hello")));
vars.add(new ExprLookup.Variable("System", "Class:java.lang.System"));
XMLConfiguration config = new XMLConfiguration(TEST_FILE);
config.setLogger(log);
ExprLookup lookup = new ExprLookup(vars);
lookup.setConfiguration(config);
String str = lookup.lookup("'$[element] ' + String.trimToEmpty('$[space.description]')");
In the example above TEST_FILE contains xml that looks like:
<configuration>
<element>value</element>
<space xml:space="preserve">
<description xml:space="default"> Some text </description>
</space>
</configuration>
The result will be "value Some text".
This lookup uses Apache Commons Jexl and requires that the dependency be added to any
projects which use this.| Modifier and Type | Class | Description |
|---|---|---|
static class |
ExprLookup.Variable |
The key and corresponding object that will be made available to the
JexlContext for use in expressions.
|
static class |
ExprLookup.Variables |
List wrapper used to allow the Variables list to be created as beans in
DefaultConfigurationBuilder.
|
| Constructor | Description |
|---|---|
ExprLookup() |
The default constructor.
|
ExprLookup(ExprLookup.Variables list) |
Constructor for use by applications.
|
ExprLookup(ExprLookup.Variables list,
java.lang.String prefix,
java.lang.String suffix) |
Constructor for use by applications.
|
| Modifier and Type | Method | Description |
|---|---|---|
ExprLookup.Variables |
getVariables() |
Returns the list of Variables that are accessible within expressions.
|
java.lang.String |
lookup(java.lang.String var) |
Evaluates the expression.
|
void |
setConfiguration(AbstractConfiguration config) |
Set the configuration to be used to interpolate subordinate expressions.
|
void |
setVariablePrefixMatcher(java.lang.String prefix) |
Set the prefix to use to identify subordinate expressions.
|
void |
setVariables(ExprLookup.Variables list) |
Add the Variables that will be accessible within expressions.
|
void |
setVariableSuffixMatcher(java.lang.String suffix) |
Set the suffix to use to identify subordinate expressions.
|
public ExprLookup()
public ExprLookup(ExprLookup.Variables list)
list - The list of objects to be accessible in expressions.public ExprLookup(ExprLookup.Variables list, java.lang.String prefix, java.lang.String suffix)
list - The list of objects to be accessible in expressions.prefix - The prefix to use for subordinate lookups.suffix - The suffix to use for subordinate lookups.public void setVariablePrefixMatcher(java.lang.String prefix)
prefix - The String identifying the beginning of the expression.public void setVariableSuffixMatcher(java.lang.String suffix)
suffix - The String identifying the end of the expression.public void setVariables(ExprLookup.Variables list)
list - The list of Variables.public ExprLookup.Variables getVariables()
public void setConfiguration(AbstractConfiguration config)
config - The Configuration.public java.lang.String lookup(java.lang.String var)
lookup in class org.apache.commons.lang.text.StrLookupvar - The expression.