public class MultiDelimiterStringSearchInterpolator extends Object implements Interpolator
Constructor and Description |
---|
MultiDelimiterStringSearchInterpolator() |
Modifier and Type | Method and Description |
---|---|
MultiDelimiterStringSearchInterpolator |
addDelimiterSpec(String delimiterSpec) |
void |
addPostProcessor(InterpolationPostProcessor postProcessor)
Add a new post-processor to handle final processing after
recursively-interpolated value is determined.
|
void |
addValueSource(ValueSource valueSource)
Add a new
ValueSource to the stack used to resolve expressions
in this interpolator instance. |
void |
clearAnswers() |
void |
clearFeedback()
Clear the feedback messages from previous interpolate(..) calls.
|
String |
getEscapeString() |
List |
getFeedback()
Return any feedback messages and errors that were generated - but suppressed - during the interpolation process.
|
String |
interpolate(String input)
|
String |
interpolate(String input,
RecursionInterceptor recursionInterceptor)
Entry point for recursive resolution of an expression and all of its nested expressions.
|
String |
interpolate(String input,
String thisPrefixPattern)
|
String |
interpolate(String input,
String thisPrefixPattern,
RecursionInterceptor recursionInterceptor)
Attempt to resolve all expressions in the given input string, using the
given pattern to first trim an optional prefix from each expression.
|
boolean |
isCacheAnswers() |
boolean |
removeDelimiterSpec(String delimiterSpec) |
void |
removePostProcessor(InterpolationPostProcessor postProcessor)
Remove the given post-processor.
|
void |
removeValuesSource(ValueSource valueSource)
Remove the specified
ValueSource from the stack used to resolve
expressions in this interpolator instance. |
void |
setCacheAnswers(boolean cacheAnswers) |
MultiDelimiterStringSearchInterpolator |
setDelimiterSpecs(LinkedHashSet<String> specs) |
void |
setEscapeString(String escapeString) |
MultiDelimiterStringSearchInterpolator |
withPostProcessor(InterpolationPostProcessor postProcessor) |
MultiDelimiterStringSearchInterpolator |
withValueSource(ValueSource vs) |
public MultiDelimiterStringSearchInterpolator()
public MultiDelimiterStringSearchInterpolator addDelimiterSpec(String delimiterSpec)
public boolean removeDelimiterSpec(String delimiterSpec)
public MultiDelimiterStringSearchInterpolator withValueSource(ValueSource vs)
public MultiDelimiterStringSearchInterpolator withPostProcessor(InterpolationPostProcessor postProcessor)
public void addValueSource(ValueSource valueSource)
ValueSource
to the stack used to resolve expressions
in this interpolator instance.addValueSource
in interface Interpolator
public void removeValuesSource(ValueSource valueSource)
ValueSource
from the stack used to resolve
expressions in this interpolator instance.removeValuesSource
in interface Interpolator
public void addPostProcessor(InterpolationPostProcessor postProcessor)
addPostProcessor
in interface Interpolator
public void removePostProcessor(InterpolationPostProcessor postProcessor)
removePostProcessor
in interface Interpolator
public String interpolate(String input, String thisPrefixPattern) throws InterpolationException
Interpolator
Interpolator.interpolate(String, String, RecursionInterceptor)
.
SimpleRecursionInterceptor
instance for protection against expression cycles.interpolate
in interface Interpolator
input
- The input string to interpolatethisPrefixPattern
- An optional pattern that should be trimmed from
the start of any expressions found in the input.InterpolationException
public String interpolate(String input, String thisPrefixPattern, RecursionInterceptor recursionInterceptor) throws InterpolationException
Interpolator
interpolate
in interface Interpolator
input
- The input string to interpolatethisPrefixPattern
- An optional pattern that should be trimmed from
the start of any expressions found in the input.recursionInterceptor
- Used to protect the interpolation process
from expression cycles, and throw an
exception if one is detected.InterpolationException
public String interpolate(String input) throws InterpolationException
Interpolator
Interpolator.interpolate(String, String, RecursionInterceptor)
.
SimpleRecursionInterceptor
instance for protection against expression cycles. It also leaves empty the
expression prefix which would otherwise be trimmed from expressions. The
result is that any detected expression will be resolved as-is.interpolate
in interface Interpolator
input
- The input string to interpolateInterpolationException
public String interpolate(String input, RecursionInterceptor recursionInterceptor) throws InterpolationException
interpolate
in interface Interpolator
input
- The input string to interpolaterecursionInterceptor
- Used to protect the interpolation process
from expression cycles, and throw an
exception if one is detected.InterpolationException
public List getFeedback()
getFeedback
in interface Interpolator
List
that may be interspersed with String
and Throwable
instances.public void clearFeedback()
clearFeedback
in interface Interpolator
public boolean isCacheAnswers()
isCacheAnswers
in interface Interpolator
public void setCacheAnswers(boolean cacheAnswers)
setCacheAnswers
in interface Interpolator
public void clearAnswers()
clearAnswers
in interface Interpolator
public String getEscapeString()
public void setEscapeString(String escapeString)
public MultiDelimiterStringSearchInterpolator setDelimiterSpecs(LinkedHashSet<String> specs)
Copyright © 2019. All rights reserved.