|
Sonic ESB API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface VariableParser
Utility for finding and resolving variable tokens in string content.
The simplest usage is to call replaceAllVariables(String)
to find
and replace all variable tokens in a string. For more complex cases use
getVariableIterator(String)
to obtain an iterator and operate on
individual tokens.
VariableParser
instances are not intended to be thread-safe.
Method Summary | |
---|---|
boolean |
containsVariables(java.lang.String content)
Returns true if the given content contains one or more variable tokens. |
VariableFactory.Variable |
getVariable(java.lang.String content)
Returns a Variable object for the given variable token. |
VariableIterator |
getVariableIterator(java.lang.String content)
Creates an iterator over variable and literal tokens in the given string content. |
VariableResolverFactory |
getVariableResolverFactory()
Gets the variable resolver factory used by this parser. |
boolean |
isVariable(java.lang.String content)
Returns true if the given content consists of exactly one variable token. |
java.lang.String |
replaceAllVariables(java.lang.String content)
Replaces all variables in the given string content. |
java.lang.String |
resolveVariable(java.lang.String variable)
Resolves a single variable token, delegating to an appropriate VariableResolver . |
void |
setVariableResolverFactory(VariableResolverFactory resolverFactory)
Sets the variable resolver factory to use for this parser. |
Method Detail |
---|
boolean containsVariables(java.lang.String content)
content
- string content to be examined
boolean isVariable(java.lang.String content)
content
- string content to be examined
java.lang.String replaceAllVariables(java.lang.String content)
content
- string content to be examined
VariableIterator getVariableIterator(java.lang.String content)
resolveVariable(String)
to implement custom variable
substitution logic.
For example, the following approach could be used to only resolve a subset of the variables in a string:
VariableIterator iter = parser.createIterator(content); StringBuffer result = new StringBuffer(); while (iter.hasNext()) { String token = (String) iter.next(); if (iter.wasLastTokenVariable() && shouldResolve(token)) { String value = parser.resolveVariable(token); result.append(value); } else { // don't resolve this variable result.append(token); } }
content
- string content to iterate over
java.lang.String resolveVariable(java.lang.String variable)
VariableResolver
. Note that the result may be null.
variable
- variable token to be resolved
VariableFactory.Variable getVariable(java.lang.String content)
Variable
object for the given variable token.
Returns null if no appropriate resolver can be found or if the resolver
does not implement VariableFactory
.
This method is intended for tools support. The resulting
Variable
object must be cast to a concrete type to be of
any use.
Variable
, or nullVariableResolverFactory getVariableResolverFactory()
void setVariableResolverFactory(VariableResolverFactory resolverFactory)
resolverFactory
- a variable resolver factory
|
Sonic ESB API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |