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 to
ProjectionContextKey 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: a ConstructionTargetKey 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. See
LensContext.findFirstNotCompletedProjectionContext(ConstructionTargetKey) and
LensContext#findFirstProjectionContext(ConstructionTargetKey).
But this ambiguity is here (perhaps) from the beginning.- See Also:
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.util.ShortDumpable
shortDump, shortDumpLazily
-
Method Details
-
getResourceOid
-
getKind
-
getIntent
-
getTag
-
equals
-
hashCode
public int hashCode() -
toString
-
shortDump
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
- Specified by:
toHumanReadableDescriptionin interfaceHumanReadableDescribable
-
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable
-
clone
-
toProjectionContextKey
-