Class MultiDelimiterStringSearchInterpolator
java.lang.Object
org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator
- All Implemented Interfaces:
BasicInterpolator
,Interpolator
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddDelimiterSpec
(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 newValueSource
to the stack used to resolve expressions in this interpolator instance.void
void
Clear the feedback messages from previous interpolate(..) calls.escapeString
(String escapeString) Return any feedback messages and errors that were generated - but suppressed - during the interpolation process.interpolate
(String input) interpolate
(String input, String thisPrefixPattern) 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.interpolate
(String input, RecursionInterceptor recursionInterceptor) Entry point for recursive resolution of an expression and all of its nested expressions.boolean
boolean
removeDelimiterSpec
(String delimiterSpec) void
removePostProcessor
(InterpolationPostProcessor postProcessor) Remove the given post-processor.void
removeValuesSource
(ValueSource valueSource) Remove the specifiedValueSource
from the stack used to resolve expressions in this interpolator instance.void
setCacheAnswers
(boolean cacheAnswers) setDelimiterSpecs
(LinkedHashSet<String> specs) void
setEscapeString
(String escapeString) withPostProcessor
(InterpolationPostProcessor postProcessor)
-
Constructor Details
-
MultiDelimiterStringSearchInterpolator
public MultiDelimiterStringSearchInterpolator()
-
-
Method Details
-
addDelimiterSpec
-
removeDelimiterSpec
-
withValueSource
-
withPostProcessor
public MultiDelimiterStringSearchInterpolator withPostProcessor(InterpolationPostProcessor postProcessor) -
addValueSource
Add a newValueSource
to the stack used to resolve expressions in this interpolator instance.- Specified by:
addValueSource
in interfaceInterpolator
- Parameters:
valueSource
-ValueSource
.
-
removeValuesSource
Remove the specifiedValueSource
from the stack used to resolve expressions in this interpolator instance.- Specified by:
removeValuesSource
in interfaceInterpolator
- Parameters:
valueSource
-ValueSource
.
-
addPostProcessor
Add a new post-processor to handle final processing after recursively-interpolated value is determined.- Specified by:
addPostProcessor
in interfaceInterpolator
- Parameters:
postProcessor
-InterpolationPostProcessor
.
-
removePostProcessor
Remove the given post-processor.- Specified by:
removePostProcessor
in interfaceInterpolator
- Parameters:
postProcessor
-InterpolationPostProcessor
.
-
interpolate
Description copied from interface:Interpolator
SeeInterpolator.interpolate(String, String, RecursionInterceptor)
.This method triggers the use of a
SimpleRecursionInterceptor
instance for protection against expression cycles.- Specified by:
interpolate
in interfaceInterpolator
- Parameters:
input
- The input string to interpolatethisPrefixPattern
- An optional pattern that should be trimmed from the start of any expressions found in the input.- Returns:
- interpolated string.
- Throws:
InterpolationException
- in case of an error.
-
interpolate
public String interpolate(String input, String thisPrefixPattern, RecursionInterceptor recursionInterceptor) throws InterpolationException Description copied from interface:Interpolator
Attempt to resolve all expressions in the given input string, using the given pattern to first trim an optional prefix from each expression. The supplied recursion interceptor will provide protection from expression cycles, ensuring that the input can be resolved or an exception is thrown. return an empty String if input is null- Specified by:
interpolate
in interfaceInterpolator
- Parameters:
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.- Returns:
- interpolated string.
- Throws:
InterpolationException
- in case of an error.
-
interpolate
Description copied from interface:BasicInterpolator
SeeInterpolator.interpolate(String, String, org.codehaus.plexus.interpolation.RecursionInterceptor)
.This method triggers the use of a
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.- Specified by:
interpolate
in interfaceBasicInterpolator
- Parameters:
input
- The input string to interpolate- Returns:
- the interpolated string.
- Throws:
InterpolationException
- in case of an error.
-
interpolate
public String interpolate(String input, RecursionInterceptor recursionInterceptor) throws InterpolationException Entry point for recursive resolution of an expression and all of its nested expressions. TODO: Ensure unresolvable expressions don't trigger infinite recursion.- Specified by:
interpolate
in interfaceBasicInterpolator
- Parameters:
input
- The input string to interpolaterecursionInterceptor
- Used to protect the interpolation process from expression cycles, and throw an exception if one is detected.- Returns:
- the interpolated string.
- Throws:
InterpolationException
- in case of an error.
-
getFeedback
Return any feedback messages and errors that were generated - but suppressed - during the interpolation process. Since unresolvable expressions will be left in the source string as-is, this feedback is optional, and will only be useful for debugging interpolation problems.- Specified by:
getFeedback
in interfaceInterpolator
- Returns:
- a
List
that may be interspersed withString
andThrowable
instances.
-
clearFeedback
public void clearFeedback()Clear the feedback messages from previous interpolate(..) calls.- Specified by:
clearFeedback
in interfaceInterpolator
-
isCacheAnswers
public boolean isCacheAnswers()- Specified by:
isCacheAnswers
in interfaceInterpolator
- Returns:
- state of the cacheAnswers
-
setCacheAnswers
public void setCacheAnswers(boolean cacheAnswers) - Specified by:
setCacheAnswers
in interfaceInterpolator
- Parameters:
cacheAnswers
- true/false.
-
clearAnswers
public void clearAnswers()- Specified by:
clearAnswers
in interfaceInterpolator
-
getEscapeString
-
setEscapeString
-
escapeString
-
setDelimiterSpecs
-