jcckit.util
Class Factory
java.lang.Object
|
+--jcckit.util.Factory
- public class Factory
- extends java.lang.Object
General purpose factory method based on ConfigParameters
and Java's Reflection API.
- Author:
- Franz-Josef Elmer
Field Summary |
static java.lang.String |
CLASS_NAME_KEY
The constant defining the key className. |
Method Summary |
static java.lang.Object |
create(ConfigParameters configParameters)
Creates an object based on the specified configuration
parameters. |
static java.lang.Object |
create(ConfigParameters configParameters,
java.lang.String defaultClassName)
Creates an object based on the specified configuration
parameters and default class name. |
static java.lang.Object |
createOrGet(ConfigParameters configParameters,
java.lang.Object defaultObject)
Creates an object based on the specified configuration
parameters or returns the default object. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CLASS_NAME_KEY
public static final java.lang.String CLASS_NAME_KEY
- The constant defining the key className.
create
public static java.lang.Object create(ConfigParameters configParameters)
- Creates an object based on the specified configuration
parameters. The class of the object is determined by the
parameter with the key
CLASS_NAME_KEY
.
The constructor with a single argument of the type
ConfigParameter is invoked with the argument
configParameters. If such a constructor
does not exists the default constructor is invoked. If
neither of these constructors exist a FactoryException
is thrown.
- Parameters:
configParameters
- Configuration parameters.- Returns:
- the newly created object.
- Throws:
java.lang.IllegalArgumentException
- if key className is missing.FactoryException
- wrapping any kind of exception or error occured.
create
public static java.lang.Object create(ConfigParameters configParameters,
java.lang.String defaultClassName)
- Creates an object based on the specified configuration
parameters and default class name. If the
parameter with the key
CLASS_NAME_KEY
is missed in
configParameters defaultClassName is used.
Otherwise it works as create(jcckit.util.ConfigParameters)
.
- Parameters:
configParameters
- Configuration parameters.defaultClassName
- Default class name.- Returns:
- the newly created object.
- Throws:
FactoryException
- wrapping any kind of exception or error occured.
createOrGet
public static java.lang.Object createOrGet(ConfigParameters configParameters,
java.lang.Object defaultObject)
- Creates an object based on the specified configuration
parameters or returns the default object. This method behaves
as
create(jcckit.util.ConfigParameters)
, except that is does
not throw an IllegalArgumentException if key className
is missing. Instead defaultObject is returned.