Package com.evolveum.midpoint.prism.util
Class CloneUtil
- java.lang.Object
-
- com.evolveum.midpoint.prism.util.CloneUtil
-
public class CloneUtil extends Object
- Author:
- semancik
-
-
Constructor Summary
Constructors Constructor Description CloneUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> T
clone(T orig)
static <T extends Cloneable>
TcloneCloneable(T cloneable)
static <T> List<T>
cloneCollectionMembers(Collection<T> collection)
static <T> List<T>
cloneCollectionMembersWithoutIds(Collection<T> collection)
static <C extends Containerable>
CcloneIfImmutable(C value)
static <T> void
cloneMembersToCollection(Collection<T> target, Collection<T> source)
-
-
-
Method Detail
-
clone
@Contract("null -> null; !null -> !null") public static <T> T clone(T orig)
-
cloneCloneable
public static <T extends Cloneable> T cloneCloneable(T cloneable)
-
cloneCollectionMembers
@Contract("!null -> !null; null -> null") public static <T> List<T> cloneCollectionMembers(Collection<T> collection)
- Returns:
- List that can be freely used.
-
cloneMembersToCollection
public static <T> void cloneMembersToCollection(Collection<T> target, Collection<T> source)
-
cloneCollectionMembersWithoutIds
@Experimental @Contract("!null -> !null; null -> null") public static <T> List<T> cloneCollectionMembersWithoutIds(Collection<T> collection)
- Returns:
- List that contains its members clones. For members that are Containerable the IDs are cleared.
FIXME: BEWARE - UNFINISHED
- does not clear IDs if members are PCVs; does it only for Containerables
- should be named maybe "copyForReuse" and use complexClone with the strategy of REUSE for all prism data
See
Containerable.cloneWithoutId()
and its TODOs.
-
cloneIfImmutable
@Contract("null -> null; !null -> !null") @Nullable public static <C extends Containerable> C cloneIfImmutable(@Nullable C value)
-
-