Package com.sun.codemodel
Class JNarrowedClass
- java.lang.Object
-
- com.sun.codemodel.JType
-
- com.sun.codemodel.JClass
-
- com.sun.codemodel.JNarrowedClass
-
- All Implemented Interfaces:
JGenerable
,java.lang.Comparable<JType>
class JNarrowedClass extends JClass
Represents X<Y>. TODO: consider separating the decl and the use.
-
-
Constructor Summary
Constructors Constructor Description JNarrowedClass(JClass basis, JClass arg)
JNarrowedClass(JClass basis, java.util.List<JClass> args)
-
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.boolean
equals(java.lang.Object obj)
JClass
erasure()
Returns the erasure of this type.java.lang.String
fullName()
Gets the full name of the type.void
generate(JFormatter f)
java.util.List<JClass>
getTypeParameters()
If this class is parameterized, return the type parameter of the given index.int
hashCode()
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
narrow(JClass clazz)
"Narrows" a generic class to a concrete class by specifying a type argument.JClass
narrow(JClass... clazz)
(package private) void
printLink(JFormatter f)
Prints the class name in javadoc @link format.protected JClass
substituteParams(JTypeVar[] variables, java.util.List<JClass> bindings)
Substitutes the type variables with their actual arguments.-
Methods inherited from class com.sun.codemodel.JClass
array, boxify, dotclass, getBaseClass, getBaseClass, getPrimitiveType, isAssignableFrom, isParameterized, narrow, narrow, narrow, narrow, outer, owner, staticInvoke, staticInvoke, staticRef, staticRef, toString, typeParams, unboxify, wildcard
-
Methods inherited from class com.sun.codemodel.JType
compareTo, elementType, isPrimitive, isReference, parse
-
-
-
-
Method Detail
-
narrow
public JClass narrow(JClass clazz)
Description copied from class:JClass
"Narrows" a generic class to a concrete class by specifying a type argument..narrow(X)
buildsSet<X>
fromSet
.
-
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.
-
generate
public void generate(JFormatter f)
- Specified by:
generate
in interfaceJGenerable
- Overrides:
generate
in classJClass
-
printLink
void printLink(JFormatter f)
Description copied from class:JClass
Prints the class name in javadoc @link format.
-
_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.
-
erasure
public JClass erasure()
Description copied from class:JType
Returns the erasure of this type.
-
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
-
isArray
public boolean isArray()
Description copied from class:JType
Tell whether or not this is an array type.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
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
-
getTypeParameters
public java.util.List<JClass> getTypeParameters()
Description copied from class:JClass
If this class is parameterized, return the type parameter of the given index.- Overrides:
getTypeParameters
in classJClass
-
-