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
FieldsModifier and TypeFieldDescriptionprotected final ROCParent construction to which thisEvaluatedResourceObjectConstructionbelongs.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 StringIntent of the resource object.@NotNull ShadowKindTypegetKind()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 ConstructionTargetKeyprotected abstract voidSets up the projection context.booleanIs the resource object directly assigned to the focus object?booleanisWeak()Is the construction weak (i.e. conditional)?toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.model.api.context.EvaluatedResourceObjectConstruction
getTypeIdentification
-
Field Details
-
construction
Parent construction to which thisEvaluatedResourceObjectConstructionbelongs. -
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:
getConstructionin interfaceEvaluatedAbstractConstruction<AH extends AssignmentHolderType>
-
getResource
Description copied from interface:EvaluatedResourceObjectConstructionResource on which the object is to be constructed.- Specified by:
getResourcein interfaceEvaluatedResourceObjectConstruction
-
getTargetKey
-
getKind
Description copied from interface:EvaluatedResourceObjectConstructionKind of the resource object.- Specified by:
getKindin interfaceEvaluatedResourceObjectConstruction
-
getIntent
Description copied from interface:EvaluatedResourceObjectConstructionIntent of the resource object.- Specified by:
getIntentin interfaceEvaluatedResourceObjectConstruction
-
getTag
Description copied from interface:EvaluatedResourceObjectConstructionTag of the resource object (for multiaccounts).- Specified by:
getTagin interfaceEvaluatedResourceObjectConstruction
-
isDirectlyAssigned
public boolean isDirectlyAssigned()Description copied from interface:EvaluatedResourceObjectConstructionIs 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:
isDirectlyAssignedin interfaceEvaluatedResourceObjectConstruction
-
getAssignmentPath
Description copied from interface:EvaluatedResourceObjectConstructionFull path from the focus object to the respective construction.- Specified by:
getAssignmentPathin interfaceEvaluatedResourceObjectConstruction
-
isWeak
public boolean isWeak()Description copied from interface:EvaluatedResourceObjectConstructionIs the construction weak (i.e. conditional)? https://docs.evolveum.com/midpoint/reference/roles-policies/assignment/configuration/#strong-and-weak-constructions- Specified by:
isWeakin interfaceEvaluatedResourceObjectConstruction
-
getProjectionContext
-
debugDump
- Specified by:
debugDumpin 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.
-