Interface FunctionCall<RETURN_T extends Value>
-
- Type Parameters:
RETURN_T
- call's return type (typically the same as the internal function's)
- All Known Subinterfaces:
FirstOrderFunctionCall<RETURN>
- All Known Implementing Classes:
BaseFirstOrderFunctionCall
,BaseFirstOrderFunctionCall.EagerBagEval
,BaseFirstOrderFunctionCall.EagerEval
,BaseFirstOrderFunctionCall.EagerMultiPrimitiveTypeEval
,BaseFirstOrderFunctionCall.EagerPartlyBagEval
,BaseFirstOrderFunctionCall.EagerSinglePrimitiveTypeEval
public interface FunctionCall<RETURN_T extends Value>
Function call. This is the recommended way of calling anyBaseFunction
. This is quite similar to XACML Apply except it does not include the Description field; and arguments are optimized specifically for each function by extending this class accordingly, therefore they might be quite different from original input Expressions of the Apply. In particular, if some expressions are actually static values (e.g. AttributeValue, VariableReference to AttributeValue, function applied to static values...), these expressions might be pre-compiled/pre-evaluated. For instance, a static regex parameter to regexp-match function may be pre-compiled to a regex for re-use.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RETURN_T
evaluate(EvaluationContext context, Optional<EvaluationContext> mdpContext)
Make the call in a given evaluation contextDatatype<RETURN_T>
getReturnType()
Get the actual return type of this call (same as the internal function's return type), used as return type for XACML Apply in PDP.
-
-
-
Method Detail
-
getReturnType
Datatype<RETURN_T> getReturnType()
Get the actual return type of this call (same as the internal function's return type), used as return type for XACML Apply in PDP.- Returns:
- return type
-
evaluate
RETURN_T evaluate(EvaluationContext context, Optional<EvaluationContext> mdpContext) throws IndeterminateEvaluationException
Make the call in a given evaluation context- Parameters:
context
- Individual Decision evaluation contextmdpContext
- context of the Multiple Decision request that thecontext
belongs to if the Multiple Decision Profile is used- Returns:
- result of the call
- Throws:
IndeterminateEvaluationException
- if any evaluation error
-
-