Package com.sun.codemodel
Class JTypeVar
- java.lang.Object
-
- com.sun.codemodel.JType
-
- com.sun.codemodel.JClass
-
- com.sun.codemodel.JTypeVar
-
- All Implemented Interfaces:
JDeclaration
,JGenerable
,Comparable<JType>
public final class JTypeVar extends JClass implements JDeclaration
Type variable used to declare generics.- Author:
- Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
- See Also:
JGenerifiable
-
-
Field Summary
-
Fields inherited from class com.sun.codemodel.JClass
EMPTY_ARRAY
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JClass
_extends()
Returns the class bound of this variable.Iterator<JClass>
_implements()
Returns the interface bounds of this variable.JPackage
_package()
Gets the package to which this class belongs.JTypeVar
bound(JClass c)
Adds a bound to this variable.void
declare(JFormatter f)
Prints out the declaration of the variable.String
fullName()
Gets the full name of the type.void
generate(JFormatter f)
boolean
isAbstract()
Checks if this class is an abstract class.boolean
isInterface()
Checks if this object represents an interface.String
name()
Gets the name of this class.protected JClass
substituteParams(JTypeVar[] variables, List<JClass> bindings)
Substitutes the type variables with their actual arguments.-
Methods inherited from class com.sun.codemodel.JClass
array, boxify, dotclass, erasure, getBaseClass, getBaseClass, getPrimitiveType, getTypeParameters, isAssignableFrom, isParameterized, narrow, narrow, narrow, narrow, narrow, narrow, outer, owner, staticInvoke, staticInvoke, staticRef, staticRef, toString, typeParams, unboxify, wildcard
-
Methods inherited from class com.sun.codemodel.JType
binaryName, compareTo, elementType, isArray, isPrimitive, isReference, parse
-
-
-
-
Method Detail
-
fullName
public String fullName()
Description copied from class:JType
Gets the full name of the type. See http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#25430 for the details.
-
_package
public JPackage _package()
Description copied from class:JClass
Gets the package to which this class belongs. TODO: shall we move move this down?
-
_extends
public JClass _extends()
Returns the class bound of this variable.If no bound is given, this method returns
Object
.- Specified by:
_extends
in classJClass
- Returns:
- Returns the JClass representing the superclass of the
entity (class or interface) represented by this
JClass
. Even if no super class is given explicitly or thisJClass
is not a class, this method still returnsJClass
forObject
. If this JClass representsObject
, return null.
-
_implements
public Iterator<JClass> _implements()
Returns the interface bounds of this variable.- Specified by:
_implements
in classJClass
- Returns:
- A non-null valid iterator that iterates all
JClass
objects that represents those interfaces implemented by this object.
-
isInterface
public boolean isInterface()
Description copied from class:JClass
Checks if this object represents an interface.- Specified by:
isInterface
in classJClass
-
isAbstract
public boolean isAbstract()
Description copied from class:JClass
Checks if this class is an abstract class.- Specified by:
isAbstract
in classJClass
-
declare
public void declare(JFormatter f)
Prints out the declaration of the variable.- Specified by:
declare
in interfaceJDeclaration
-
substituteParams
protected JClass substituteParams(JTypeVar[] variables, List<JClass> bindings)
Description copied from class:JClass
Substitutes the type variables with their actual arguments.For example, when this class is
Map<String,Map<V>>
, (where V then doing substituteParams( V, Integer ) returns aJClass
forMap<String,Map<Integer>>
.This method needs to work recursively.
- Specified by:
substituteParams
in classJClass
-
generate
public void generate(JFormatter f)
- Specified by:
generate
in interfaceJGenerable
- Overrides:
generate
in classJClass
-
-