Class CloneUtil


  • public class CloneUtil
    extends Object
    Author:
    semancik
    • Constructor Detail

      • CloneUtil

        public CloneUtil()
    • Method Detail

      • clone

        @Contract("null -> null; !null -> !null")
        public static <T> T clone​(T orig)
      • cloneCollectionMembers

        @Contract("!null -> !null; null -> null")
        public static <T> List<T> cloneCollectionMembers​(Collection<T> collection)
        Returns:
        List that can be freely used.
      • 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.