repository.grepcode.com$java$root@jdk$openjdk@6-b14
repository.grepcode.com$java$root@jdk$openjdk@6-b14@sun$reflect$generics$factory$GenericsFactory.java
file
oh
o
[]
package sun.reflect.generics.factory;
A factory interface for reflective objects representing generic types.
Implementors (such as core reflection or JDI, or possibly javadoc
will manufacture instances of (potentially) different classes
in response to invocations of the methods described here.
The intent is that reflective systems use these factories to
produce generic type information on demand.
Certain components of such reflective systems can be independent
of a specific implementation by using this interface. For example,
repositories of generic type information are initialized with a
factory conforming to this interface, and use it to generate the
tpe information they are required to provide. As a result, such
repository code can be shared across different reflective systems.
Returns a new type variable declaration. Note that
name
may be empty (but not
null). If
bounds is
empty, a bound of
java.lang.Object is used.
- Parameters:
name The name of the type variablebounds An array of abstract syntax trees representing
the upper bound(s) on the type variable being declared- Returns:
- a new type variable declaration
- Throws:
java.lang.NullPointerException - if any of the actual parameters
or any of the elements of bounds are null.
Return an instance of the
ParameterizedType interface
that corresponds to a generic type instantiation of the
generic declaration
declaration with actual type arguments
typeArgs.
If
owner is
null, the declaring class of
declaration is used as the owner of this parameterized
type.
This method throws a MalformedParameterizedTypeException
under the following circumstances:
If the type declaration does not represent a generic declaration
(i.e., it is not an instance of GenericDeclaration).
If the number of actual type arguments (i.e., the size of the
array typeArgs) does not correspond to the number of
formal type arguments.
If any of the actual type arguments is not an instance of the
bounds on the corresponding formal.
- Parameters:
declaration - the generic type declaration that is to be
instantiatedtypeArgs - the list of actual type arguments- Returns:
- - a parameterized type representing the instantiation
of the declaration with the actual type arguments
- Throws:
MalformedParameterizedTypeException - if the instantiation
is invalidjava.lang.NullPointerException - if any of declaration
, typeArgs
or any of the elements of typeArgs are null
Returns the type variable with name
name, if such
a type variable is declared in the
scope used to create this factory.
Returns
null otherwise.
- Parameters:
name - the name of the type variable to search for- Returns:
- - the type variable with name name, or null
- Throws:
java.lang.NullPointerException - if any of actual parameters are
null
Returns a new wildcard type variable. If
ubs is empty, a bound of
java.lang.Object is used.
- Parameters:
ubs An array of abstract syntax trees representing
the upper bound(s) on the type variable being declaredlbs An array of abstract syntax trees representing
the lower bound(s) on the type variable being declared- Returns:
- a new wildcard type variable
- Throws:
java.lang.NullPointerException - if any of the actual parameters
or any of the elements of ubs or lbsare
null
Returns a (possibly generic) array type.
If the component type is a parameterized type, it must
only have unbounded wildcard arguemnts, otherwise
a MalformedParameterizedTypeException is thrown.
- Parameters:
componentType - the component type of the array- Returns:
- a (possibly generic) array type.
- Throws:
MalformedParameterizedTypeException if componentType
is a parameterized type with non-wildcard type argumentsjava.lang.NullPointerException - if any of the actual parameters
are null
Returns the reflective representation of type
byte.
- Returns:
- the reflective representation of type byte.
Returns the reflective representation of type
boolean.
- Returns:
- the reflective representation of type boolean.
Returns the reflective representation of type
short.
- Returns:
- the reflective representation of type short.
Returns the reflective representation of type
char.
- Returns:
- the reflective representation of type char.
Returns the reflective representation of type
int.
- Returns:
- the reflective representation of type int.
Returns the reflective representation of type
long.
- Returns:
- the reflective representation of type long.
Returns the reflective representation of type
float.
- Returns:
- the reflective representation of type float.
Returns the reflective representation of type
double.
- Returns:
- the reflective representation of type double.
Returns the reflective representation of
void.
- Returns:
- the reflective representation of void.