Package com.sun.codemodel
Class JCodeModel.JReferencedClass
- java.lang.Object
-
- com.sun.codemodel.JType
-
- com.sun.codemodel.JClass
-
- com.sun.codemodel.JCodeModel.JReferencedClass
-
- All Implemented Interfaces:
JDeclaration
,JGenerable
,java.lang.Comparable<JType>
- Enclosing class:
- JCodeModel
private class JCodeModel.JReferencedClass extends JClass implements JDeclaration
References to existing classes.JReferencedClass is kept in a pool so that they are shared. There is one pool for each JCodeModel object.
It is impossible to cache JReferencedClass globally only because there is the _package() method, which obtains the owner JPackage object, which is scoped to JCodeModel.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<?>
_class
-
Fields inherited from class com.sun.codemodel.JClass
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description JReferencedClass(java.lang.Class<?> _clazz)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JClass
_extends()
Gets the super class of this class.java.util.Iterator<JClass>
_implements()
Iterates all super interfaces directly implemented by this class/interface.JPackage
_package()
Gets the package to which this class belongs.java.lang.String
binaryName()
Gets the binary name of the type.void
declare(JFormatter f)
java.lang.String
fullName()
Gets the full name of the type.JPrimitiveType
getPrimitiveType()
If this class represents one of the wrapper classes defined in the java.lang package, return the corresponding primitive type.boolean
isAbstract()
Checks if this class is an abstract class.boolean
isArray()
Tell whether or not this is an array type.boolean
isInterface()
Checks if this object represents an interface.java.lang.String
name()
Gets the name of this class.JClass
outer()
Returns the class in which this class is nested, or null if this is a top-level class.protected JClass
substituteParams(JTypeVar[] variables, java.util.List<JClass> bindings)
Substitutes the type variables with their actual arguments.JTypeVar[]
typeParams()
Iterates all the type parameters of this class/interface.-
Methods inherited from class com.sun.codemodel.JClass
array, boxify, dotclass, erasure, generate, getBaseClass, getBaseClass, getTypeParameters, isAssignableFrom, isParameterized, narrow, narrow, narrow, narrow, narrow, narrow, owner, printLink, staticInvoke, staticInvoke, staticRef, staticRef, toString, unboxify, wildcard
-
Methods inherited from class com.sun.codemodel.JType
compareTo, elementType, isPrimitive, isReference, parse
-
-
-
-
Method Detail
-
name
public java.lang.String name()
Description copied from class:JClass
Gets the name of this class.
-
fullName
public java.lang.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.
-
binaryName
public java.lang.String binaryName()
Description copied from class:JType
Gets the binary name of the type. See http://java.sun.com/docs/books/jls/third_edition/html/binaryComp.html#44909- Overrides:
binaryName
in classJType
- Returns:
- Name like "Foo$Bar", "int", "java.lang.String", "java.io.File[]". Never null.
-
outer
public JClass outer()
Description copied from class:JClass
Returns the class in which this class is nested, or null if this is a top-level class.
-
_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()
Description copied from class:JClass
Gets the super class of this class.- 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 java.util.Iterator<JClass> _implements()
Description copied from class:JClass
Iterates all super interfaces directly implemented by this class/interface.- 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
-
getPrimitiveType
public JPrimitiveType getPrimitiveType()
Description copied from class:JClass
If this class represents one of the wrapper classes defined in the java.lang package, return the corresponding primitive type. Otherwise null.- Overrides:
getPrimitiveType
in classJClass
-
isArray
public boolean isArray()
Description copied from class:JType
Tell whether or not this is an array type.
-
declare
public void declare(JFormatter f)
- Specified by:
declare
in interfaceJDeclaration
-
typeParams
public JTypeVar[] typeParams()
Description copied from class:JClass
Iterates all the type parameters of this class/interface.For example, if this
JClass
representsSet<T>
, this method returns an array that contains singleJTypeVar
for 'T'.- Overrides:
typeParams
in classJClass
-
substituteParams
protected JClass substituteParams(JTypeVar[] variables, java.util.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 a
JClass
forMap<String,Map<Integer>>
.This method needs to work recursively.
- Specified by:
substituteParams
in classJClass
-
-