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, 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 Details
-
getResourceOid
-
getKind
-
getIntent
-
getTag
-
equals
-
hashCode
public int hashCode() -
toString
-
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.
-
toHumanReadableDescription
- Specified by:
toHumanReadableDescription
in interfaceHumanReadableDescribable
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
-
clone
-
toProjectionContextKey
-