Interface ExpressionEvaluator<V extends PrismValue>
- All Known Implementing Classes:
AbstractExpressionEvaluator,AbstractSearchExpressionEvaluator,AbstractValueTransformationExpressionEvaluator,AsIsExpressionEvaluator,AssociationFromLinkExpressionEvaluator,ConstExpressionEvaluator,FilterExpressionEvaluator,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 booleandoesVetoTargetValueRemoval(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. c:path).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:
SchemaExceptionExpressionEvaluationExceptionObjectNotFoundExceptionCommunicationExceptionConfigurationExceptionSecurityViolationException
-
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)
-