Package org.apache.commons.collections4.functors

# Class CloneTransformer<T>

java.lang.Object
org.apache.commons.collections4.functors.CloneTransformer<T>

All Implemented Interfaces:
  `Transformer<T,T>`

public class CloneTransformer<T> extends Object implements Transformer<T,T>
Transformer implementation that returns a clone of the input object.

Clone is performed using `PrototypeFactory.prototypeFactory(input).create()`.

WARNING: from v4.1 onwards this class will not be serializable anymore in order to prevent potential remote code execution exploits. Please refer to COLLECTIONS-580 for more details.

Since:
  3.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Transformer`
  `INSTANCE`
  Singleton predicate instance

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <T> Transformer<T,T>`
  `cloneTransformer()`
  Factory returning the singleton instance.
  `T`
  `transform(T input)`
  Transforms the input to result by cloning it.

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

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

- ## Field Details

  - ### INSTANCE

    public static final Transformer INSTANCE
    Singleton predicate instance

- ## Method Details

  - ### cloneTransformer

    public static <T> Transformer<T,T> cloneTransformer()
    Factory returning the singleton instance.
    Type Parameters:
      `T` - the type of the objects to be cloned
    Returns:
      the singleton instance
    Since:
      3.1

  - ### transform

    public T transform(T input)
    Transforms the input to result by cloning it.
    Specified by:
      `transform` in interface `Transformer<T,T>`
    Parameters:
      `input` - the input object to transform
    Returns:
      the transformed result