Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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` | `create(java.lang.String className)` Creates an instance of the specified class.
`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`

Field Detail

### CLASS_NAME_KEY

    public static final java.lang.String CLASS_NAME_KEY

  The constant defining the key `className`.

  See Also:
    Constant Field Values

Method Detail

### create

    public static java.lang.Object create(java.lang.String className)

  Creates an instance of the specified class.

  Parameters:
    `className` - Fully-qualified name of a class with a default constructor.
  Returns:
    a new instance.
  Throws:
    `java.lang.IllegalArgumentException` - if the instance could be created.

### 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD