Interface ExpressionEvaluator<V extends PrismValue>
- All Known Implementing Classes:
AbstractExpressionEvaluator
,AbstractSearchExpressionEvaluator
,AbstractValueTransformationExpressionEvaluator
,AsIsExpressionEvaluator
,AssociationFromLinkExpressionEvaluator
,ConstExpressionEvaluator
,FunctionExpressionEvaluator
,GenerateExpressionEvaluator
,LiteralExpressionEvaluator
,PathExpressionEvaluator
,ProportionalExpressionEvaluator
,ReferenceAttributeFromLinkExpressionEvaluator
,ReferenceSearchExpressionEvaluator
,ScriptExpressionEvaluator
,SequentialValueExpressionEvaluator
public interface ExpressionEvaluator<V extends PrismValue>
Represents an expression evaluator (e.g. literal, path, script, assignmentTargetSearch, etc).
Can apply it in given evaluation context.
The evaluators were originally stateless; but they are created anew for each expression evaluation (at least when evaluated
as part of mappings evaluation), so we can afford to keep some state in them - as needed for (experimental)
doesVetoTargetValueRemoval(PrismValue, OperationResult)
method invocation.- Author:
- Radovan Semancik
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
doesVetoTargetValueRemoval
(V value, @NotNull OperationResult result) evaluate
(ExpressionEvaluationContext context, OperationResult result) Executes the evaluation in a given context.Fully qualified name of the element defining the expression (e.g.Short characterization of the evaluator.
-
Method Details
-
evaluate
PrismValueDeltaSetTriple<V> evaluate(ExpressionEvaluationContext context, OperationResult result) throws SchemaException, ExpressionEvaluationException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException Executes the evaluation in a given context. The context provides necessary data, evaluator provides definition of processing that should be carried out.- Returns:
- Result of the evaluation in the form of delta set triple (i.e. added, deleted, unchanged values).
- Throws:
SchemaException
ExpressionEvaluationException
ObjectNotFoundException
CommunicationException
ConfigurationException
SecurityViolationException
-
getElementName
QName getElementName()Fully qualified name of the element defining the expression (e.g. c:path). -
shortDebugDump
String shortDebugDump()Short characterization of the evaluator. One line, often only a single word. -
doesVetoTargetValueRemoval
default boolean doesVetoTargetValueRemoval(@NotNull V value, @NotNull @NotNull OperationResult result)
-