Class SelectorProcessingContext
java.lang.Object
com.evolveum.midpoint.schema.selector.eval.SelectorProcessingContext
- Direct Known Subclasses:
- FilteringContext,- MatchingContext
Keeps everything needed to evaluate whether a clause matches given value or how is clause translated to a filter.
 Most probably will be simplified in the future.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionfinal @Nullable ObjectFilterExpressionEvaluatorIf provided, resolves expressions in filters.final @NotNull OrgTreeEvaluatorEvaluates organization tree questions (is descendant, is ancestor).final @Nullable OwnerResolverResolves the object owners, mainly for the `owner` clause.final @NotNull ProcessingTracer<? super SelectorTraceEvent>Traces evaluation of selectors and clauses, typically into standard log.
- 
Constructor SummaryConstructorsConstructorDescriptionSelectorProcessingContext(@Nullable ObjectFilterExpressionEvaluator filterEvaluator, @NotNull ProcessingTracer<? super SelectorTraceEvent> tracer, @NotNull OrgTreeEvaluator orgTreeEvaluator, @Nullable SubjectedEvaluationContext subjectedEvaluationContext, @Nullable OwnerResolver ownerResolver, @Nullable ObjectResolver objectResolver, @NotNull ClauseProcessingContextDescription description, @NotNull SubjectedEvaluationContext.DelegatorSelection delegatorSelection) 
- 
Method SummaryModifier and TypeMethodDescription@Nullable FocusType@Nullable String@NotNull String[]getSelfPlusRolesOids(@NotNull SubjectedEvaluationContext.DelegatorSelection delegatorSelectionMode) @NotNull String[]getSelfPlusRolesOidsArray(SubjectedEvaluationContext.DelegatorSelection delegatorSelectionMode) PrismObject<? extends ObjectType>resolveReference(ObjectReferenceType ref, Object context, String referenceName) Resolves reference to full object.voidtraceClauseApplicable(@NotNull SelectorClause clause, @NotNull String message, Object... arguments) voidtraceClauseNotApplicable(@NotNull SelectorClause clause, @NotNull String message, Object... arguments) voidtraceMatchingEnd(ValueSelector selector, @NotNull PrismValue value, boolean match) voidtraceMatchingStart(ValueSelector selector, @NotNull PrismValue value) 
- 
Field Details- 
filterEvaluatorIf provided, resolves expressions in filters.
- 
tracerTraces evaluation of selectors and clauses, typically into standard log. Mainly used for troubleshooting of selectors and their clauses; especially important for https://docs.evolveum.com/midpoint/reference/diag/troubleshooting/authorizations.
- 
orgTreeEvaluatorEvaluates organization tree questions (is descendant, is ancestor). Usually it is the repository itself.
- 
ownerResolverResolves the object owners, mainly for the `owner` clause.
 
- 
- 
Constructor Details- 
SelectorProcessingContextpublic SelectorProcessingContext(@Nullable @Nullable ObjectFilterExpressionEvaluator filterEvaluator, @NotNull @NotNull ProcessingTracer<? super SelectorTraceEvent> tracer, @NotNull @NotNull OrgTreeEvaluator orgTreeEvaluator, @Nullable @Nullable SubjectedEvaluationContext subjectedEvaluationContext, @Nullable @Nullable OwnerResolver ownerResolver, @Nullable @Nullable ObjectResolver objectResolver, @NotNull @NotNull ClauseProcessingContextDescription description, @NotNull @NotNull SubjectedEvaluationContext.DelegatorSelection delegatorSelection) 
 
- 
- 
Method Details- 
getPrincipalOid
- 
getPrincipalFocus
- 
getSelfOids
- 
getSelfPlusRolesOids@NotNull public @NotNull Set<String> getSelfPlusRolesOids(@NotNull @NotNull SubjectedEvaluationContext.DelegatorSelection delegatorSelectionMode) 
- 
getSelfOidsArray@NotNull public @NotNull String[] getSelfOidsArray(SubjectedEvaluationContext.DelegatorSelection delegation) 
- 
getSelfPlusRolesOidsArray@NotNull public @NotNull String[] getSelfPlusRolesOidsArray(SubjectedEvaluationContext.DelegatorSelection delegatorSelectionMode) 
- 
resolveReferencepublic PrismObject<? extends ObjectType> resolveReference(ObjectReferenceType ref, Object context, String referenceName) Resolves reference to full object. TODO Note that this is not necessary in some cases (e.g. when comparing only with `self` clause). So we should do this more lazily. See MID-8899.
- 
traceMatchingStart
- 
traceMatchingEndpublic void traceMatchingEnd(ValueSelector selector, @NotNull @NotNull PrismValue value, boolean match) 
- 
traceClauseNotApplicablepublic void traceClauseNotApplicable(@NotNull @NotNull SelectorClause clause, @NotNull @NotNull String message, Object... arguments) 
- 
traceClauseApplicablepublic void traceClauseApplicable(@NotNull @NotNull SelectorClause clause, @NotNull @NotNull String message, Object... arguments) 
 
-