java.lang.Object
com.evolveum.midpoint.model.impl.lens.construction.AbstractConstruction<AH,ACT,EC>
Type Parameters:
AH - focus type to which this construction applies
ACT - type of the construction bean (e.g. ConstructionType, PersonaConstructionType)
EC - "EvaluatedXXX" class paired with the construction (e.g. EvaluatedPlainResourceObjectConstructionImpl, EvaluatedPersonaConstructionImpl)
All Implemented Interfaces:
DebugDumpable, Serializable
Direct Known Subclasses:
PersonaConstruction, ResourceObjectConstruction

public abstract class AbstractConstruction<AH extends AssignmentHolderType,ACT extends AbstractConstructionType,EC extends EvaluatedAbstractConstruction<AH>> extends Object implements DebugDumpable, Serializable
A superclass for both resource object constructions (ResourceObjectConstruction) and persona object constructions (PersonaConstruction). Contains the construction definition (bean) and the relevant context: assignment path, source object, lens context, validity information. Basically, everything that is needed to evaluate this construction. Note: it is still not quite clear how much is persona construction evaluation similar to the evaluation of a resource object construction. Persona constructions are currently evaluated using object template evaluation mechanism, while resource object constructions evaluation is based on attribute/association mappings evaluation directly in EvaluatedResourceObjectConstructionImpl and its subclass(es).
Author:
Radovan Semancik
See Also:
  • Field Details

    • assignmentPath

      @Nullable protected final @Nullable AssignmentPathImpl assignmentPath
      If this construction is assigned, this is the path to it. (For "artificial" constructions created during outbound mappings evaluations it is null.)
    • source

      @NotNull protected final @NotNull ObjectType source
      Object in which the construction is defined: either assignment segment source object (assignment holder) or a resource object. TODO consider if not superseded by the origin in constructionConfigItem, at least for assigned constructions
    • originType

      @NotNull protected final @NotNull OriginType originType
      Origin of this construction.
    • lensContext

      @NotNull protected final @NotNull LensContext<AH extends AssignmentHolderType> lensContext
      Lens context in which this construction is collected and evaluated.
    • now

      @NotNull protected final @NotNull XMLGregorianCalendar now
      Current time. Should be copied from the projector's current time, but it is currently not always the case.
  • Method Details

    • getSource

      @NotNull public @NotNull ObjectType getSource()
    • getOriginType

      @NotNull public @NotNull OriginType getOriginType()
    • getLensContext

      @NotNull public @NotNull LensContext<AH> getLensContext()
    • getConstructionBean

      @Nullable public ACT getConstructionBean()
    • getFocusOdoAbsolute

      public ObjectDeltaObject<AH> getFocusOdoAbsolute()
    • setFocusOdoAbsolute

      public void setFocusOdoAbsolute(ObjectDeltaObject<AH> focusOdoAbsolute)
    • isWeak

      public boolean isWeak()
    • isValid

      public boolean isValid()
    • getWasValid

      public boolean getWasValid()
    • setWasValid

      public void setWasValid(boolean wasValid)
    • getAssignmentPath

      @Nullable public @Nullable AssignmentPathImpl getAssignmentPath()
    • getEvaluatedConstructionTriple

      public abstract DeltaSetTriple<EC> getEvaluatedConstructionTriple()
    • isIgnored

      public abstract boolean isIgnored()
      Typical reason for being ignored is that the resourceRef cannot be resolved.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object