Groovy Documentation

org.codehaus.groovy.ast
[Java] Class ClassHelper

java.lang.Object
  org.codehaus.groovy.ast.ClassHelper

public class ClassHelper
extends java.lang.Object

This class is a Helper for ClassNode and classes handling ClassNodes. It does contain a set of predefined ClassNodes for the most used types and some code for cached ClassNode creation and basic ClassNode handling

Authors:
Jochen Theodorou


Field Summary
static ClassNode Annotation_TYPE

static ClassNode BigDecimal_TYPE

static ClassNode BigInteger_TYPE

static ClassNode Boolean_TYPE

static ClassNode Byte_TYPE

static ClassNode CLASS_Type

static ClassNode CLOSURE_TYPE

static ClassNode COMPARABLE_TYPE

static ClassNode Character_TYPE

static ClassNode DYNAMIC_TYPE

static ClassNode Double_TYPE

static ClassNode ELEMENT_TYPE_TYPE

protected static ClassNode[] EMPTY_TYPE_ARRAY

static ClassNode Enum_Type

static ClassNode Float_TYPE

static ClassNode GENERATED_CLOSURE_Type

static ClassNode GROOVY_INTERCEPTABLE_TYPE

static ClassNode GROOVY_OBJECT_SUPPORT_TYPE

static ClassNode GROOVY_OBJECT_TYPE

static ClassNode GSTRING_TYPE

static ClassNode Integer_TYPE

static ClassNode Iterator_TYPE

static ClassNode LIST_TYPE

static ClassNode Long_TYPE

static ClassNode MAP_TYPE

static ClassNode METACLASS_TYPE

static ClassNode Number_TYPE

static java.lang.String OBJECT

static ClassNode OBJECT_TYPE

static ClassNode PATTERN_TYPE

static ClassNode RANGE_TYPE

static ClassNode REFERENCE_TYPE

static ClassNode SCRIPT_TYPE

static ClassNode STRING_TYPE

static ClassNode Short_TYPE

static ClassNode VOID_TYPE

static ClassNode boolean_TYPE

static ClassNode byte_TYPE

static ClassNode char_TYPE

static ClassNode double_TYPE

static ClassNode float_TYPE

static ClassNode int_TYPE

static ClassNode long_TYPE

static ClassNode short_TYPE

static ClassNode void_WRAPPER_TYPE

 
Method Summary
static ClassNode getUnwrapper(ClassNode cn)

static ClassNode getWrapper(ClassNode cn)

Creates a ClassNode containing the wrapper of a ClassNode of primitive type.

static boolean isCachedType(ClassNode type)

static boolean isNumberType(ClassNode cn)

static boolean isPrimitiveType(ClassNode cn)

Test to determine if a ClassNode is a primitive type.

static boolean isStaticConstantInitializerType(ClassNode cn)

Test to determine if a ClassNode is a type belongs to the list of types which are allowed to initialize constants directly in bytecode instead of using <cinit>

static ClassNode[] make(java.lang.Class[] classes)

Creates an array of ClassNodes using an array of classes.

static ClassNode make(java.lang.Class c)

Creates a ClassNode using a given class.

static ClassNode make(java.lang.Class c, boolean includeGenerics)

static ClassNode make(java.lang.String name)

Creates a ClassNode using a given class.

static ClassNode makeCached(java.lang.Class c)

static ClassNode makeReference()

static ClassNode makeWithoutCaching(java.lang.Class c)

static ClassNode makeWithoutCaching(java.lang.Class c, boolean includeGenerics)

static ClassNode makeWithoutCaching(java.lang.String name)

Creates a ClassNode using a given class.

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

Annotation_TYPE

public static final ClassNode Annotation_TYPE


BigDecimal_TYPE

public static final ClassNode BigDecimal_TYPE


BigInteger_TYPE

public static final ClassNode BigInteger_TYPE


Boolean_TYPE

public static final ClassNode Boolean_TYPE


Byte_TYPE

public static final ClassNode Byte_TYPE


CLASS_Type

public static final ClassNode CLASS_Type


CLOSURE_TYPE

public static final ClassNode CLOSURE_TYPE


COMPARABLE_TYPE

public static final ClassNode COMPARABLE_TYPE


Character_TYPE

public static final ClassNode Character_TYPE


DYNAMIC_TYPE

public static final ClassNode DYNAMIC_TYPE


Double_TYPE

public static final ClassNode Double_TYPE


ELEMENT_TYPE_TYPE

public static final ClassNode ELEMENT_TYPE_TYPE


EMPTY_TYPE_ARRAY

protected static final ClassNode[] EMPTY_TYPE_ARRAY


Enum_Type

public static final ClassNode Enum_Type


Float_TYPE

public static final ClassNode Float_TYPE


GENERATED_CLOSURE_Type

public static final ClassNode GENERATED_CLOSURE_Type


GROOVY_INTERCEPTABLE_TYPE

public static final ClassNode GROOVY_INTERCEPTABLE_TYPE


GROOVY_OBJECT_SUPPORT_TYPE

public static final ClassNode GROOVY_OBJECT_SUPPORT_TYPE


GROOVY_OBJECT_TYPE

public static final ClassNode GROOVY_OBJECT_TYPE


GSTRING_TYPE

public static final ClassNode GSTRING_TYPE


Integer_TYPE

public static final ClassNode Integer_TYPE


Iterator_TYPE

public static final ClassNode Iterator_TYPE


LIST_TYPE

public static final ClassNode LIST_TYPE


Long_TYPE

public static final ClassNode Long_TYPE


MAP_TYPE

public static final ClassNode MAP_TYPE


METACLASS_TYPE

public static final ClassNode METACLASS_TYPE


Number_TYPE

public static final ClassNode Number_TYPE


OBJECT

public static final java.lang.String OBJECT


OBJECT_TYPE

public static final ClassNode OBJECT_TYPE


PATTERN_TYPE

public static final ClassNode PATTERN_TYPE


RANGE_TYPE

public static final ClassNode RANGE_TYPE


REFERENCE_TYPE

public static final ClassNode REFERENCE_TYPE


SCRIPT_TYPE

public static final ClassNode SCRIPT_TYPE


STRING_TYPE

public static final ClassNode STRING_TYPE


Short_TYPE

public static final ClassNode Short_TYPE


VOID_TYPE

public static final ClassNode VOID_TYPE


boolean_TYPE

public static final ClassNode boolean_TYPE


byte_TYPE

public static final ClassNode byte_TYPE


char_TYPE

public static final ClassNode char_TYPE


double_TYPE

public static final ClassNode double_TYPE


float_TYPE

public static final ClassNode float_TYPE


int_TYPE

public static final ClassNode int_TYPE


long_TYPE

public static final ClassNode long_TYPE


short_TYPE

public static final ClassNode short_TYPE


void_WRAPPER_TYPE

public static final ClassNode void_WRAPPER_TYPE


 
Method Detail

getUnwrapper

public static ClassNode getUnwrapper(ClassNode cn)


getWrapper

public static ClassNode getWrapper(ClassNode cn)
Creates a ClassNode containing the wrapper of a ClassNode of primitive type. Any ClassNode representing a primitive type should be created using the predefined types used in class. The method will check the parameter for known references of ClassNode representing a primitive type. If Reference is found, then a ClassNode will be contained that represents the wrapper class. For example for boolean, the wrapper class is java.lang.Boolean. If the parameter is no primitive type, the redirected ClassNode will be returned
Parameters:
cn - the ClassNode containing a possible primitive type
See Also:
make(Class)
make(String)


isCachedType

public static boolean isCachedType(ClassNode type)


isNumberType

public static boolean isNumberType(ClassNode cn)


isPrimitiveType

public static boolean isPrimitiveType(ClassNode cn)
Test to determine if a ClassNode is a primitive type. Note: this only works for ClassNodes created using a predefined ClassNode
Parameters:
cn - the ClassNode containing a possible primitive type
Returns:
true if the ClassNode is a primitive type
See Also:
make(Class)
make(String)


isStaticConstantInitializerType

public static boolean isStaticConstantInitializerType(ClassNode cn)
Test to determine if a ClassNode is a type belongs to the list of types which are allowed to initialize constants directly in bytecode instead of using <cinit> Note: this only works for ClassNodes created using a predefined ClassNode
Parameters:
cn - the ClassNode to be tested
Returns:
true if the ClassNode is of int, float, long, double or String type
See Also:
make(Class)
make(String)


make

public static ClassNode[] make(java.lang.Class[] classes)
Creates an array of ClassNodes using an array of classes. For each of the given classes a new ClassNode will be created
Parameters:
classes - an array of classes used to create the ClassNodes
Returns:
an array of ClassNodes
See Also:
make(Class)


make

public static ClassNode make(java.lang.Class c)
Creates a ClassNode using a given class. A new ClassNode object is only created if the class is not one of the predefined ones
Parameters:
c - class used to created the ClassNode
Returns:
ClassNode instance created from the given class


make

public static ClassNode make(java.lang.Class c, boolean includeGenerics)


make

public static ClassNode make(java.lang.String name)
Creates a ClassNode using a given class. If the name is one of the predefined ClassNodes then the corresponding ClassNode instance will be returned. If the name is null or of length 0 the dynamic type is returned
Parameters:
name - of the class the ClassNode is representing


makeCached

public static ClassNode makeCached(java.lang.Class c)


makeReference

public static ClassNode makeReference()


makeWithoutCaching

public static ClassNode makeWithoutCaching(java.lang.Class c)


makeWithoutCaching

public static ClassNode makeWithoutCaching(java.lang.Class c, boolean includeGenerics)


makeWithoutCaching

public static ClassNode makeWithoutCaching(java.lang.String name)
Creates a ClassNode using a given class. Unlike make(String) this method will not use the cache to create the ClassNode. This means the ClassNode created from this method using the same name will have a different reference
Parameters:
name - of the class the ClassNode is representing
See Also:
make(String)


 

Groovy Documentation