Class AbstractSearchExpressionEvaluator<V extends PrismValue,O extends ObjectType,D extends ItemDefinition<?>,E extends SearchObjectExpressionEvaluatorType>
- java.lang.Object
-
- com.evolveum.midpoint.repo.common.expression.evaluator.AbstractExpressionEvaluator<V,D,E>
-
- com.evolveum.midpoint.model.common.expression.evaluator.transformation.AbstractValueTransformationExpressionEvaluator<V,D,E>
-
- com.evolveum.midpoint.model.common.expression.evaluator.AbstractSearchExpressionEvaluator<V,O,D,E>
-
- Type Parameters:
V
- "Processed" value we are looking for (e.g.PrismContainerValue
ofShadowAssociationType
)O
- "Raw" object type we are searching for to get `V` (e.g.ShadowType
)D
- Definition of `V`E
- type of configuration bean
- All Implemented Interfaces:
ExpressionEvaluator<V>
- Direct Known Subclasses:
AssignmentTargetSearchExpressionEvaluator
,AssociationTargetSearchExpressionEvaluator
,ReferenceSearchExpressionEvaluator
public abstract class AbstractSearchExpressionEvaluator<V extends PrismValue,O extends ObjectType,D extends ItemDefinition<?>,E extends SearchObjectExpressionEvaluatorType> extends AbstractValueTransformationExpressionEvaluator<V,D,E>
Expression evaluator that is based on searching for an object of `O` type meeting specified criteria (like entitlement shadow), and then converting it into "processed" form (like association value).- Author:
- Radovan Semancik
-
-
Field Summary
Fields Modifier and Type Field Description protected CacheConfigurationManager
cacheConfigurationManager
-
Fields inherited from class com.evolveum.midpoint.model.common.expression.evaluator.transformation.AbstractValueTransformationExpressionEvaluator
localizationService, securityContextManager
-
Fields inherited from class com.evolveum.midpoint.repo.common.expression.evaluator.AbstractExpressionEvaluator
expressionEvaluatorBean, outputDefinition, prismContext, protector
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract V
createPrismValue(String oid, QName targetTypeQName, List<ItemDelta<V,D>> additionalAttributeDeltas, ExpressionEvaluationContext params)
protected void
extendOptions(Collection<SelectorOptions<GetOperationOptions>> options, boolean searchOnResource)
protected ObjectQuery
extendQuery(ObjectQuery query, ExpressionEvaluationContext params)
protected AbstractSearchExpressionEvaluatorCache<V,O,?,?>
getCache()
protected Class<?>
getCacheClass()
protected CacheType
getCacheType()
protected QName
getDefaultTargetType()
protected boolean
isAcceptable(@NotNull PrismObject<O> object)
Provides additional filtering e.g.protected boolean
isIncludeNullInputs()
String
shortDebugDump()
Short characterization of the evaluator.protected @NotNull List<V>
transformSingleValue(VariablesMap variables, PlusMinusZero valueDestination, boolean useNew, ExpressionEvaluationContext context, String contextDescription, Task task, OperationResult result)
Transforms single value tuple.-
Methods inherited from class com.evolveum.midpoint.model.common.expression.evaluator.transformation.AbstractValueTransformationExpressionEvaluator
evaluate, isRelative
-
Methods inherited from class com.evolveum.midpoint.repo.common.expression.evaluator.AbstractExpressionEvaluator
addInternalOrigin, applyValueMetadata, checkEvaluatorProfile, findInSourcesAndVariables, finishOutputTriple, getElementName, getOutputDefinition, getPrismContext, getProtector
-
-
-
-
Field Detail
-
cacheConfigurationManager
protected CacheConfigurationManager cacheConfigurationManager
-
-
Method Detail
-
transformSingleValue
@NotNull protected @NotNull List<V> transformSingleValue(VariablesMap variables, PlusMinusZero valueDestination, boolean useNew, ExpressionEvaluationContext context, String contextDescription, Task task, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException
Description copied from class:AbstractValueTransformationExpressionEvaluator
Transforms single value tuple.- Specified by:
transformSingleValue
in classAbstractValueTransformationExpressionEvaluator<V extends PrismValue,D extends ItemDefinition<?>,E extends SearchObjectExpressionEvaluatorType>
- Parameters:
variables
- Variables to be applied. Must not be relativistic! All deltas must be sorted out by now.valueDestination
- Where we are going to put output value(s). Actually it's only supplementary information for the transformer as the actual placement of output values is done in the caller.useNew
- Are we using "new" state of sources/input variables? Again, this is only a supplementary information, because the variables should be already non-relativistic. Some scripts need to know the value of "useNew".context
- Caller-specified context of the whole expression evaluation.- Throws:
ExpressionEvaluationException
ObjectNotFoundException
SchemaException
CommunicationException
ConfigurationException
SecurityViolationException
-
extendQuery
protected ObjectQuery extendQuery(ObjectQuery query, ExpressionEvaluationContext params) throws ExpressionEvaluationException
- Throws:
ExpressionEvaluationException
-
getDefaultTargetType
protected QName getDefaultTargetType()
-
getCache
protected AbstractSearchExpressionEvaluatorCache<V,O,?,?> getCache()
-
getCacheClass
protected Class<?> getCacheClass()
-
getCacheType
protected CacheType getCacheType()
-
isAcceptable
protected boolean isAcceptable(@NotNull @NotNull PrismObject<O> object)
Provides additional filtering e.g. rejecting dead shadows as association targets.
-
extendOptions
protected void extendOptions(Collection<SelectorOptions<GetOperationOptions>> options, boolean searchOnResource)
-
createPrismValue
protected abstract V createPrismValue(String oid, QName targetTypeQName, List<ItemDelta<V,D>> additionalAttributeDeltas, ExpressionEvaluationContext params)
-
isIncludeNullInputs
protected boolean isIncludeNullInputs()
- Overrides:
isIncludeNullInputs
in classAbstractValueTransformationExpressionEvaluator<V extends PrismValue,D extends ItemDefinition<?>,E extends SearchObjectExpressionEvaluatorType>
-
shortDebugDump
public String shortDebugDump()
Description copied from interface:ExpressionEvaluator
Short characterization of the evaluator. One line, often only a single word.
-
-