Package com.evolveum.midpoint.model.api
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description List<ObjectReferenceType>
archetypeRefs
String
description
List<QName>
objectTypes
List<QName>
relations
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Constructor Summary
Constructors Constructor Description AssignmentObjectRelation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArchetypeRef(PrismObject<ArchetypeType> archetype)
void
addArchetypeRef(ObjectReferenceType archetypeRef)
void
addArchetypeRefs(Collection<ObjectReferenceType> archetypeRefs)
void
addObjectTypes(List<QName> newTargetTypes)
void
addRelations(List<QName> newRelations)
String
debugDump(int indent)
List<ObjectReferenceType>
getArchetypeRefs()
String
getDescription()
Just for diagnostic purposes (testability).List<QName>
getObjectTypes()
List<QName>
getRelations()
void
setArchetypeRefs(List<ObjectReferenceType> archetypeRefs)
void
setDescription(String description)
void
setObjectTypes(List<QName> targetTypes)
void
setRelations(List<QName> relations)
void
shortDump(StringBuilder sb)
Show the content of the object intended for diagnostics.String
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.util.ShortDumpable
shortDump, shortDumpLazily
-
-
-
-
Method Detail
-
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)
-
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 interfaceShortDumpable
- 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 interfaceDebugDumpable
-
-