Class AssignmentObjectRelation

java.lang.Object
com.evolveum.midpoint.model.api.AssignmentObjectRelation
All Implemented Interfaces:
DebugDumpable, ShortDumpable, Serializable

public class AssignmentObjectRelation extends Object implements DebugDumpable, ShortDumpable, Serializable
Assignment object relation specification. Data structure that contains information about possible assignment targets or holders for a particular object and possible relation/archetype combinations. This data structure is used in two related, but slight distinct cases: looking for assignment targets and looking for assignment holders. In both cases this structure describes candidate objects on the "other side" of the assignment. For the "target" case, simply speaking, those are object types that can be targets of assignments for this object and the respective relations. This means "what assignments can I have" or "what are the valid targets for relations that I hold". It is the reverse of assignmentRelation definition in AssignmentType in schema. For the "holder" case it is a reverse of the above. In that case it specifies objects that ca be potential members. If objectType, archetype or relation is null then there is no constraint for that specific aspect. E.g. if the archetypeRefs is null then any archetype is allowed. If objectType, archetype or relation is empty list then no value for that particular aspect is allowed. Which means that this specification does not really allow anything. This should not really happen when used in ArchetypeInteractionSpecification as such specification would be meaningless. If more that one targetType, archetype or relation is specified then all possible combinations of those values are allowed (carthesian product).
Author:
Radovan Semancik
See Also:
  • Field Details

  • Constructor Details

    • AssignmentObjectRelation

      public AssignmentObjectRelation()
  • Method Details

    • getObjectTypes

      public List<QName> getObjectTypes()
    • setObjectTypes

      public void setObjectTypes(List<QName> targetTypes)
    • addObjectTypes

      public void addObjectTypes(List<QName> newTargetTypes)
    • getArchetypeRefs

      public List<ObjectReferenceType> getArchetypeRefs()
    • setArchetypeRefs

      public void setArchetypeRefs(List<ObjectReferenceType> archetypeRefs)
    • addArchetypeRef

      public void addArchetypeRef(PrismObject<ArchetypeType> archetype)
    • addArchetypeRef

      public void addArchetypeRef(ObjectReferenceType archetypeRef)
    • addArchetypeRefs

      public void addArchetypeRefs(Collection<ObjectReferenceType> archetypeRefs)
    • getRelations

      public List<QName> getRelations()
    • setRelations

      public void setRelations(List<QName> relations)
    • addRelations

      public void addRelations(List<QName> newRelations)
    • getDescription

      public String getDescription()
      Just for diagnostic purposes (testability).
    • setDescription

      public void setDescription(String description)
    • shortDump

      public void shortDump(StringBuilder sb)
      Description copied from interface: ShortDumpable
      Show the content of the object intended for diagnostics. This method is supposed to append a compact, human-readable output in a single line. Unlike toString() method, there is no requirement to identify the actual class or type of the object. It is assumed that the class/type will be obvious from the context in which the output is used.
      Specified by:
      shortDump in interface ShortDumpable
      Parameters:
      sb - StringBuilder to which to a compact one-line content of the object intended for diagnostics by system administrator should be appended.
    • debugDump

      public String debugDump(int indent)
      Specified by:
      debugDump in interface DebugDumpable
    • toString

      public String toString()
      Overrides:
      toString in class Object