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 toProjectionContextKey
but 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: aConstructionTargetKey
may 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 ConstructionTargetKey
clone()
String
debugDump(int indent)
boolean
equals(Object o)
@NotNull String
getIntent()
@NotNull ShadowKindType
getKind()
@NotNull String
getResourceOid()
String
getTag()
int
hashCode()
void
shortDump(StringBuilder sb)
Show the content of the object intended for diagnostics.String
toHumanReadableDescription()
ProjectionContextKey
toProjectionContextKey()
String
toString()
-
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: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.
-
toHumanReadableDescription
public String toHumanReadableDescription()
- Specified by:
toHumanReadableDescription
in interfaceHumanReadableDescribable
-
debugDump
public String debugDump(int indent)
- Specified by:
debugDump
in interfaceDebugDumpable
-
clone
public ConstructionTargetKey clone()
-
toProjectionContextKey
public ProjectionContextKey toProjectionContextKey()
-
-