Package org.checkerframework.javacutil
Interface DeepCopyable<T>
-
- Type Parameters:
T
- the type of the subtype of DeepCopyable
@Deprecated public interface DeepCopyable<T>
Deprecated.use org.plumelib.util.DeepCopyableAn interface for types that implement thedeepCopy()
method.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description T
deepCopy()
Deprecated.Returns a deep copy of this.static <T2 extends @Nullable DeepCopyable<T2>>
@PolyNull T2deepCopyOrNull(@PolyNull T2 object)
Deprecated.Returns the deep copy of a non-null argument, ornull
for anull
argument.
-
-
-
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
(perequals()
if the object's class does not use reference equality asObject.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, ornull
for anull
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 anull
argument
-
-