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:
-
Field Summary
Modifier and TypeFieldDescriptionFields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addArchetypeRef
(PrismObject<ArchetypeType> archetype) void
addArchetypeRef
(ObjectReferenceType archetypeRef) void
addArchetypeRefs
(Collection<ObjectReferenceType> archetypeRefs) void
addObjectTypes
(List<QName> newTargetTypes) void
addRelations
(List<QName> newRelations) debugDump
(int indent) Just for diagnostic purposes (testability).void
setArchetypeRefs
(List<ObjectReferenceType> archetypeRefs) void
setDescription
(String description) void
setObjectTypes
(List<QName> targetTypes) void
setRelations
(List<QName> relations) void
Show the content of the object intended for diagnostics.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
-
Field Details
-
objectTypes
-
archetypeRefs
-
relations
-
description
-
-
Constructor Details
-
AssignmentObjectRelation
public AssignmentObjectRelation()
-
-
Method Details
-
getObjectTypes
-
setObjectTypes
-
addObjectTypes
-
getArchetypeRefs
-
setArchetypeRefs
-
addArchetypeRef
-
addArchetypeRef
-
addArchetypeRefs
-
getRelations
-
setRelations
-
addRelations
-
getDescription
Just for diagnostic purposes (testability). -
setDescription
-
shortDump
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
- Specified by:
debugDump
in interfaceDebugDumpable
-
toString
-