Class EvaluatedResourceObjectConstructionImpl<AH extends AssignmentHolderType,ROC extends ResourceObjectConstruction<AH,?>>
java.lang.Object
com.evolveum.midpoint.model.impl.lens.construction.EvaluatedResourceObjectConstructionImpl<AH,ROC>
- All Implemented Interfaces:
EvaluatedResourceObjectConstruction
,EvaluatedAbstractConstruction<AH>
,DebugDumpable
,Serializable
- Direct Known Subclasses:
EvaluatedAssignedResourceObjectConstructionImpl
,EvaluatedPlainResourceObjectConstructionImpl
public abstract class EvaluatedResourceObjectConstructionImpl<AH extends AssignmentHolderType,ROC extends ResourceObjectConstruction<AH,?>>
extends Object
implements EvaluatedAbstractConstruction<AH>, EvaluatedResourceObjectConstruction
Evaluated construction of a resource object.
More such objects can stem from single
ResourceObjectConstruction
in the presence of multi-accounts.
The evaluation itself is delegated to ConstructionEvaluation
class that, in turn, delegates
to AttributeEvaluation
and AssociationEvaluation
. However, these classes shouldn't be
publicly visible.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected final ROC
Parent construction to which thisEvaluatedResourceObjectConstruction
belongs.protected ConstructionEvaluation<AH,
ROC> Construction evaluation state.Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptiondebugDump
(int indent) evaluate
(Task task, OperationResult parentResult) Full path from the focus object to the respective construction.@NotNull Collection<MappingImpl<PrismContainerValue<ShadowAssociationType>,
PrismContainerDefinition<ShadowAssociationType>>> protected abstract List<AssociationEvaluation<AH>>
getAssociationsToEvaluate
(ConstructionEvaluation<AH, ?> constructionEvaluation) Collects associations that are to be evaluated.MappingImpl<? extends PrismPropertyValue<?>,
? extends PrismPropertyDefinition<?>> getAttributeMapping
(QName attrName) @NotNull Collection<MappingImpl<? extends PrismPropertyValue<?>,
? extends PrismPropertyDefinition<?>>> protected abstract List<AttributeEvaluation<AH>>
getAttributesToEvaluate
(ConstructionEvaluation<AH, ?> constructionEvaluation) Collects attributes that are to be evaluated.@NotNull String
Intent of the resource object.@NotNull ShadowKindType
getKind()
Kind of the resource object.protected @Nullable LensProjectionContext
@NotNull PrismObject<ResourceType>
Resource on which the object is to be constructed.getTag()
Tag of the resource object (for multiaccounts).@NotNull ConstructionTargetKey
protected abstract void
Sets up the projection context.boolean
Is the resource object directly assigned to the focus object?boolean
isWeak()
Is the construction weak (i.e. conditional)?toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.model.api.context.EvaluatedResourceObjectConstruction
getTypeIdentification
-
Field Details
-
construction
Parent construction to which thisEvaluatedResourceObjectConstruction
belongs. -
evaluation
protected transient ConstructionEvaluation<AH extends AssignmentHolderType,ROC extends ResourceObjectConstruction<AH, evaluation?>> Construction evaluation state. It is factored out into separate class to allow many of its fields to be final. (It would not be possible if it was part of this class.)
-
-
Method Details
-
getConstruction
- Specified by:
getConstruction
in interfaceEvaluatedAbstractConstruction<AH extends AssignmentHolderType>
-
getResource
Description copied from interface:EvaluatedResourceObjectConstruction
Resource on which the object is to be constructed.- Specified by:
getResource
in interfaceEvaluatedResourceObjectConstruction
-
getTargetKey
-
getKind
Description copied from interface:EvaluatedResourceObjectConstruction
Kind of the resource object.- Specified by:
getKind
in interfaceEvaluatedResourceObjectConstruction
-
getIntent
Description copied from interface:EvaluatedResourceObjectConstruction
Intent of the resource object.- Specified by:
getIntent
in interfaceEvaluatedResourceObjectConstruction
-
getTag
Description copied from interface:EvaluatedResourceObjectConstruction
Tag of the resource object (for multiaccounts).- Specified by:
getTag
in interfaceEvaluatedResourceObjectConstruction
-
isDirectlyAssigned
public boolean isDirectlyAssigned()Description copied from interface:EvaluatedResourceObjectConstruction
Is the resource object directly assigned to the focus object? (False means there is an inducement in the assignment path.) TODO What about delegations?- Specified by:
isDirectlyAssigned
in interfaceEvaluatedResourceObjectConstruction
-
getAssignmentPath
Description copied from interface:EvaluatedResourceObjectConstruction
Full path from the focus object to the respective construction.- Specified by:
getAssignmentPath
in interfaceEvaluatedResourceObjectConstruction
-
isWeak
public boolean isWeak()Description copied from interface:EvaluatedResourceObjectConstruction
Is the construction weak (i.e. conditional)? https://docs.evolveum.com/midpoint/reference/roles-policies/assignment/configuration/#strong-and-weak-constructions- Specified by:
isWeak
in interfaceEvaluatedResourceObjectConstruction
-
getProjectionContext
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
-
toString
-
getAttributeMappings
@NotNull public @NotNull Collection<MappingImpl<? extends PrismPropertyValue<?>,? extends PrismPropertyDefinition<?>>> getAttributeMappings() -
getAttributeMapping
public MappingImpl<? extends PrismPropertyValue<?>,? extends PrismPropertyDefinition<?>> getAttributeMapping(QName attrName) -
getAssociationMappings
@NotNull public @NotNull Collection<MappingImpl<PrismContainerValue<ShadowAssociationType>,PrismContainerDefinition<ShadowAssociationType>>> getAssociationMappings() -
evaluate
public NextRecompute evaluate(Task task, OperationResult parentResult) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException -
initializeProjectionContext
protected abstract void initializeProjectionContext()Sets up the projection context. The implementation differs for assigned and plain constructions. It is sometimes possible that the projection context does not exist yet. -
getAttributesToEvaluate
protected abstract List<AttributeEvaluation<AH>> getAttributesToEvaluate(ConstructionEvaluation<AH, ?> constructionEvaluation) throws SchemaException, ConfigurationExceptionCollects attributes that are to be evaluated. Again, the exact mechanism is implementation-specific. -
getAssociationsToEvaluate
protected abstract List<AssociationEvaluation<AH>> getAssociationsToEvaluate(ConstructionEvaluation<AH, ?> constructionEvaluation) throws SchemaException, ConfigurationExceptionCollects associations that are to be evaluated.
-