org.apache.commons.collections4.functors

## Class PrototypeFactory

- java.lang.Object
- - org.apache.commons.collections4.functors.PrototypeFactory

-     public class PrototypeFactory
      extends Object

  Factory implementation that creates a new instance each time based on a prototype.

  WARNING: from v4.1 onwards `Factory` instances returned by `prototypeFactory(Object)` 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

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Factory<T>` | `prototypeFactory(T prototype)` Factory method that performs validation.

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

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

- - ### Method Detail

    - #### prototypeFactory

          public static <T> Factory<T> prototypeFactory(T prototype)

      Factory method that performs validation.

      Creates a Factory that will return a clone of the same prototype object each time the factory is used. The prototype will be cloned using one of these techniques (in order):

      - public clone method
      - public copy constructor
      - serialization clone
      Type Parameters:
        `T` - the type the factory creates
      Parameters:
        `prototype` - the object to clone each time in the factory
      Returns:
        the `prototype` factory, or a `ConstantFactory.NULL_INSTANCE` if the `prototype` is `null`
      Throws:
        `IllegalArgumentException` - if the prototype cannot be cloned

Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.