org.glassfish.gmbal.util
Class GenericConstructor<T>
java.lang.Object
org.glassfish.gmbal.util.GenericConstructor<T>
public class GenericConstructor<T>
- extends Object
Class that allows any class to be instantiated via any accessible constructor.
Really a short hand to avoid writing a bunch of reflective code.
|
Method Summary |
T |
create(Object... args)
Create an instance of type T using the constructor that
matches the given arguments if possible. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GenericConstructor
public GenericConstructor(Class<T> type,
String className,
Class<?>... signature)
- Create a generic of type T for the untyped class cls.
Generally cls is a class that has been generated and loaded, so
no compiled code can depend on the class directly. However, the
generated class probably implements some interface T, represented
here by Class.
- Parameters:
type - The expected type of a create call.className - The name of the class to use for a constructor.signature - The signature of the desired constructor.
- Throws:
IllegalArgumentException - if cls is not a subclass of type.
create
public T create(Object... args)
- Create an instance of type T using the constructor that
matches the given arguments if possible. The constructor
is cached, so an instance of GenericClass should always be
used for the same types of arguments. If a call fails,
a check is made to see if a different constructor could
be used.
- Parameters:
args - The constructor arguments.
- Returns:
- A new instance of the object.
Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.