public class SimpleRecursionInterceptor extends Object implements RecursionInterceptor
RecursionInterceptor
, which checks whether
the existing interpolation effort is already attempting to resolve an exact
expression, but has not finished. This will not catch synonym expressions, as
are found in Maven (${project.build.directory}, ${pom.build.directory}, and
${build.directory} are synonyms).Constructor and Description |
---|
SimpleRecursionInterceptor() |
Modifier and Type | Method and Description |
---|---|
void |
expressionResolutionFinished(String expression)
Signal to the interceptor that the all efforts to resolve the given
expression have completed - whether successfully or not is irrelevant -
and that the expression should not be tracked for recursion any longer.
|
void |
expressionResolutionStarted(String expression)
Log the intention to start resolving the given expression.
|
List |
getExpressionCycle(String expression)
When an expression is determined to be a recursive reference, this method
returns the sublist of tracked expressions that participate in this cycle.
|
boolean |
hasRecursiveExpression(String expression)
Check whether the current expression is already present in the in-process
stack.
|
public void expressionResolutionFinished(String expression)
expressionResolutionFinished
in interface RecursionInterceptor
expression
- The expression to stop tracking.public void expressionResolutionStarted(String expression)
expressionResolutionStarted
in interface RecursionInterceptor
expression
- The expression to be resolved.public boolean hasRecursiveExpression(String expression)
hasRecursiveExpression
in interface RecursionInterceptor
expression
- The value to check for expression cycles.public List getExpressionCycle(String expression)
Collections.EMPTY_LIST
.getExpressionCycle
in interface RecursionInterceptor
Copyright © 2019. All rights reserved.