public class FactoryUtils extends Object
FactoryUtils provides reference implementations and utilities
for the Factory functor interface. The supplied factories are:
| Modifier and Type | Method and Description |
|---|---|
static <T> Factory<T> |
constantFactory(T constantToReturn)
Creates a Factory that will return the same object each time the factory
is used.
|
static <T> Factory<T> |
exceptionFactory()
Gets a Factory that always throws an exception.
|
static <T> Factory<T> |
instantiateFactory(Class<T> classToInstantiate)
Creates a Factory that can create objects of a specific type using
a no-args constructor.
|
static <T> Factory<T> |
instantiateFactory(Class<T> classToInstantiate,
Class<?>[] paramTypes,
Object[] args)
Creates a Factory that can create objects of a specific type using
the arguments specified to this method.
|
static <T> Factory<T> |
nullFactory()
Gets a Factory that will return null each time the factory is used.
|
static <T> Factory<T> |
prototypeFactory(T prototype)
Creates a Factory that will return a clone of the same prototype object
each time the factory is used.
|
public static <T> Factory<T> exceptionFactory()
T - the type that the factory createsExceptionFactorypublic static <T> Factory<T> nullFactory()
T - the "type" of null object the factory should return.ConstantFactorypublic static <T> Factory<T> constantFactory(T constantToReturn)
T - the type that the factory createsconstantToReturn - the constant object to return each time in the factoryconstant factory.ConstantFactorypublic static <T> Factory<T> prototypeFactory(T prototype)
T - the type that the factory createsprototype - the object to clone each time in the factoryprototype factory, or a ConstantFactory.NULL_INSTANCE if
the prototype is nullIllegalArgumentException - if the prototype cannot be clonedPrototypeFactorypublic static <T> Factory<T> instantiateFactory(Class<T> classToInstantiate)
T - the type that the factory createsclassToInstantiate - the Class to instantiate each time in the factoryreflection factoryIllegalArgumentException - if the classToInstantiate is nullInstantiateFactorypublic static <T> Factory<T> instantiateFactory(Class<T> classToInstantiate, Class<?>[] paramTypes, Object[] args)
T - the type that the factory createsclassToInstantiate - the Class to instantiate each time in the factoryparamTypes - parameter types for the constructor, can be nullargs - the arguments to pass to the constructor, can be nullreflection factoryIllegalArgumentException - if the classToInstantiate is nullIllegalArgumentException - if the paramTypes and args don't matchIllegalArgumentException - if the constructor doesn't existInstantiateFactoryCopyright © 2001–2013 The Apache Software Foundation. All rights reserved.