Class AbstractFunctionValueSourceWrapper
java.lang.Object
org.codehaus.plexus.interpolation.AbstractFunctionValueSourceWrapper
- All Implemented Interfaces:
ValueSource
ValueSource
abstract implementation that wraps another value source.
When an expression is resolved, this wrapped source is first used to retrieve
the expression's actual value; then, the last expression processed by this
source is retrieved, and the two are passed into the abstract method
executeFunction(String, Object)
together. The result of this is returned as the resolved value for the second
expression.
This allows the first expression to be a function name that modifies the value of the second expression, which is resolved from the wrapped value source.
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractFunctionValueSourceWrapper
(ValueSource valueSource) Construct a new function value source instance, using the suppliedValueSource
to retrieve the input values for the function(s) this class implements. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Object
executeFunction
(String expression, Object value) Execute the function referenced in the last-processed expression using the value resolved from the current expression (using the embeddedValueSource
).Resolve the current expression using the embeddedValueSource
Retrieve the last expression processed by this value source Pass the last expression (which should be the function name), along with the value for the current expression, into the executeFunction(..) method Return the result of the executeFunction(..) as the resolved value for the current expression.protected ValueSource
Retrieve the embedded value source.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.codehaus.plexus.interpolation.ValueSource
clearFeedback, getFeedback
-
Constructor Details
-
AbstractFunctionValueSourceWrapper
Construct a new function value source instance, using the suppliedValueSource
to retrieve the input values for the function(s) this class implements.- Parameters:
valueSource
- The value source to wrap
-
-
Method Details
-
getValue
- Resolve the current expression using the embedded
ValueSource
- Retrieve the last expression processed by this value source
- Pass the last expression (which should be the function name), along with the value for the current expression, into the executeFunction(..) method
- Return the result of the executeFunction(..) as the resolved value for the current expression.
- Specified by:
getValue
in interfaceValueSource
- Parameters:
expression
- The string expression.- Returns:
- the value related to the expression, or null if not found.
- Resolve the current expression using the embedded
-
getValueSource
Retrieve the embedded value source.- Returns:
ValueSource
-
executeFunction
Execute the function referenced in the last-processed expression using the value resolved from the current expression (using the embeddedValueSource
).- Parameters:
expression
- The last expression to be processed by this value source.value
- The value for the current expression, resolved by the embeddedValueSource
- Returns:
- The result of modifying the current expression's value using the function named by the last expression.
-