Interface DeepCopyable<T>

  • Type Parameters:
    T - the type of the subtype of DeepCopyable

    @Deprecated
    public interface DeepCopyable<T>
    Deprecated.
    use org.plumelib.util.DeepCopyable
    An interface for types that implement the deepCopy() method.
    • Method Detail

      • deepCopy

        T deepCopy()
        Deprecated.
        Returns a deep copy of this. A deep copy is equal to the original, but side effects to either object are not visible in the other. A deep copy may share immutable state with the original.

        The run-time class of the result is identical to the run-time class of this. The deep copy is equal to this (per equals() if the object's class does not use reference equality as Object.equals() does).

        Returns:
        a deep copy of this
      • deepCopyOrNull

        static <T2 extends @Nullable DeepCopyable<T2>> @PolyNull T2 deepCopyOrNull​(@PolyNull T2 object)
        Deprecated.
        Returns the deep copy of a non-null argument, or null for a null argument.
        Type Parameters:
        T2 - the type of the object
        Parameters:
        object - object to copy
        Returns:
        the deep copy of a non-null argument, or null for a null argument