org.jboss.lang.reflect
Interface TypeVariable
- All Superinterfaces:
- Type
- All Known Implementing Classes:
- TypeVariableImpl
public interface TypeVariable
- extends Type
TypeVariable is the common superinterface for type variables of kinds. A
type variable is created the first time it is needed by a reflective method,
as specified in this package. If a type variable t is referenced by a type
(i.e, class, interface or annotation type) T, and T is declared by the nth
enclosing class of T (see JLS 8.1.2), then the creation of t requires the
resolution (see JVMS 5) of the ith enclosing class of T, for i = 0 to n,
inclusive. Creating a type variable must not cause the creation of its
bounds. Repeated creation of a type variable has no effect.
Multiple objects may be instantiated at run-time to represent a given type
variable. Even though a type variable is created only once, this does not
imply any requirement to cache instances representing the type variable.
However, all instances representing a type variable must be equal() to each
other. As a consequence, users of type variables must not rely on the identity
of instances of classes implementing this interface.
The type parameter D represents the type of generic declaration that declared
the underlying type variable.
- Version:
- $Revision: 200 $
- Author:
- Scott.Stark@jboss.org
getBounds
Object[] getBounds()
- Returns an array of Type objects representing the upper bound(s) of this
type variable. Note that if no upper bound is explicitly declared, the
upper bound is Object.
For each upper bound B:
if B is a parameterized type or a type variable, it is created, (see
ParameterizedType for the details of the creation process for
parameterized types). Otherwise, B is resolved.
- Returns:
- an array of Types representing the upper bound(s) of this type variable
- Throws:
TypeNotPresentException
- - if any of the bounds refers to a
non-existent type declaration
MalformedParameterizedTypeException
- - if any of
the bounds refer to a parameterized type that cannot be instantiated for
any reason
getGenericDeclaration
Object getGenericDeclaration()
- Returns:
- the GenericDeclaration object representing the generic
declaration declared this type variable.
getName
String getName()
- Returns:
- Returns the name of this type variable, as it occurs in the
source code.
Copyright © 2005-2007 JBoss, a division of Red Hat, Inc. All Rights Reserved.