de.caff.generics

## Class AbstractBasicCopyable<T extends java.lang.Cloneable>

- java.lang.Object
- - de.caff.generics.AbstractBasicCopyable<T>

- All Implemented Interfaces:
    Copyable<T>

      public class AbstractBasicCopyable<T extends java.lang.Cloneable>
      extends java.lang.Object
      implements Copyable<T>

  Basic implementation of copyable object.

  It uses cloning to create the copy.

  Author:
    Rammi

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractBasicCopyable()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `T` | `getCopy()` Get a copy of this object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface de.caff.generics.Copyable

      `copy`

- - ### Constructor Detail

    - #### AbstractBasicCopyable

          public AbstractBasicCopyable()

  - ### Method Detail

    - #### getCopy

          @NotNull
          public T getCopy()

      Get a copy of this object. Here the clone method is used to copy the object. Cloneable objects are not expected to throw a `CloneNotSupportedException`. If one is thrown nevertheless this method will an `InternalError` instead.
      Specified by:
        `getCopy` in interface `Copyable<T extends java.lang.Cloneable>`
      Returns:
        independent object