Class ConstructionTargetKey
- java.lang.Object
-
- com.evolveum.midpoint.model.impl.lens.construction.ConstructionTargetKey
-
- All Implemented Interfaces:
DebugDumpable,HumanReadableDescribable,ShortDumpable,Serializable,Cloneable
public class ConstructionTargetKey extends Object implements Serializable, DebugDumpable, ShortDumpable, HumanReadableDescribable, Cloneable
Specifies the target of resource object construction - i.e. to which projection context it should be applied. It is similar toProjectionContextKeybut 1. resource, kind, and intent are required - we can afford this, because constructions are always targeted at specific resource object type, 2. there is no order nor "gone" flag. Note: the name of this class is a shorted form of `ResourceObjectConstructionTargetKey` (that is just too long/clumsy). *FIXME* There is a slight ambiguity here: aConstructionTargetKeymay point to multiple projection contexts. While the ambiguity of "gone" flag (true/false) is trivial and can be eliminated by simply looking for "not gone" projections, the ambiguity of "order" is more problematic. I.e. what if we assign a construction of resource/account/default, and there are multiple contexts with these coordinates (e.g. with orders 0 and 10)? A naive attempt of using the first "not completed" one fails because of the fact that constructions may be re-evaluated, and - during re-evaluation - they are meant to be attached to projections that are already completed. SeeLensContext.findFirstNotCompletedProjectionContext(ConstructionTargetKey)andLensContext#findFirstProjectionContext(ConstructionTargetKey). But this ambiguity is here (perhaps) from the beginning.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConstructionTargetKeyclone()StringdebugDump(int indent)booleanequals(Object o)@NotNull StringgetIntent()@NotNull ShadowKindTypegetKind()@NotNull StringgetResourceOid()StringgetTag()inthashCode()voidshortDump(StringBuilder sb)Show the content of the object intended for diagnostics.StringtoHumanReadableDescription()ProjectionContextKeytoProjectionContextKey()StringtoString()-
Methods inherited from class java.lang.Object
finalize, getClass, 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
-
getResourceOid
@NotNull public @NotNull String getResourceOid()
-
getKind
@NotNull public @NotNull ShadowKindType getKind()
-
getIntent
@NotNull public @NotNull String getIntent()
-
getTag
public String getTag()
-
shortDump
public void shortDump(StringBuilder sb)
Description copied from interface:ShortDumpableShow 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:
shortDumpin interfaceShortDumpable- Parameters:
sb- StringBuilder to which to a compact one-line content of the object intended for diagnostics by system administrator should be appended.
-
toHumanReadableDescription
public String toHumanReadableDescription()
- Specified by:
toHumanReadableDescriptionin interfaceHumanReadableDescribable
-
debugDump
public String debugDump(int indent)
- Specified by:
debugDumpin interfaceDebugDumpable
-
clone
public ConstructionTargetKey clone()
-
toProjectionContextKey
public ProjectionContextKey toProjectionContextKey()
-
-