org.codehaus.groovy.ast
Class ClassHelper

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

public class ClassHelper
extends 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

Author:
Jochen Theodorou

Field Summary
static ClassNode Annotation_TYPE
           
static ClassNode BigDecimal_TYPE
           
static ClassNode BigInteger_TYPE
           
static ClassNode boolean_TYPE
           
static ClassNode Boolean_TYPE
           
static ClassNode byte_TYPE
           
static ClassNode Byte_TYPE
           
static ClassNode char_TYPE
           
static ClassNode Character_TYPE
           
static ClassNode CLASS_Type
           
static ClassNode CLOSURE_TYPE
           
static ClassNode double_TYPE
           
static ClassNode Double_TYPE
           
static ClassNode DYNAMIC_TYPE
           
static ClassNode ELEMENT_TYPE_TYPE
           
protected static ClassNode[] EMPTY_TYPE_ARRAY
           
static ClassNode Enum_Type
           
static ClassNode float_TYPE
           
static ClassNode Float_TYPE
           
static ClassNode GENERATED_CLOSURE_Type
           
static ClassNode GSTRING_TYPE
           
static ClassNode int_TYPE
           
static ClassNode Integer_TYPE
           
static ClassNode LIST_TYPE
           
static ClassNode long_TYPE
           
static ClassNode Long_TYPE
           
static ClassNode MAP_TYPE
           
static ClassNode METACLASS_TYPE
           
static String OBJECT
           
static ClassNode OBJECT_TYPE
           
static ClassNode PATTERN_TYPE
           
static ClassNode RANGE_TYPE
           
static ClassNode REFERENCE_TYPE
           
static ClassNode SCRIPT_TYPE
           
static ClassNode short_TYPE
           
static ClassNode Short_TYPE
           
static ClassNode STRING_TYPE
           
static ClassNode VOID_TYPE
           
static ClassNode void_WRAPPER_TYPE
           
 
Constructor Summary
ClassHelper()
           
 
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 ClasNode is a primitve type.
static ClassNode make(Class c)
          Creates a ClassNode using a given class.
static ClassNode[] make(Class[] classes)
          Creates an array of ClassNodes using an array of classes.
static ClassNode make(Class c, boolean includeGenerics)
           
static ClassNode make(String name)
          Creates a ClassNode using a given class.
static ClassNode makeReference()
           
static ClassNode makeWithoutCaching(Class c)
           
static ClassNode makeWithoutCaching(Class c, boolean includeGenerics)
           
static ClassNode makeWithoutCaching(String name)
          Creates a ClassNode using a given class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DYNAMIC_TYPE

public static final ClassNode DYNAMIC_TYPE

OBJECT_TYPE

public static final ClassNode OBJECT_TYPE

VOID_TYPE

public static final ClassNode VOID_TYPE

CLOSURE_TYPE

public static final ClassNode CLOSURE_TYPE

GSTRING_TYPE

public static final ClassNode GSTRING_TYPE

LIST_TYPE

public static final ClassNode LIST_TYPE

MAP_TYPE

public static final ClassNode MAP_TYPE

RANGE_TYPE

public static final ClassNode RANGE_TYPE

PATTERN_TYPE

public static final ClassNode PATTERN_TYPE

STRING_TYPE

public static final ClassNode STRING_TYPE

SCRIPT_TYPE

public static final ClassNode SCRIPT_TYPE

REFERENCE_TYPE

public static final ClassNode REFERENCE_TYPE

boolean_TYPE

public static final ClassNode boolean_TYPE

char_TYPE

public static final ClassNode char_TYPE

byte_TYPE

public static final ClassNode byte_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

double_TYPE

public static final ClassNode double_TYPE

float_TYPE

public static final ClassNode float_TYPE

Byte_TYPE

public static final ClassNode Byte_TYPE

Short_TYPE

public static final ClassNode Short_TYPE

Integer_TYPE

public static final ClassNode Integer_TYPE

Long_TYPE

public static final ClassNode Long_TYPE

Character_TYPE

public static final ClassNode Character_TYPE

Float_TYPE

public static final ClassNode Float_TYPE

Double_TYPE

public static final ClassNode Double_TYPE

Boolean_TYPE

public static final ClassNode Boolean_TYPE

BigInteger_TYPE

public static final ClassNode BigInteger_TYPE

BigDecimal_TYPE

public static final ClassNode BigDecimal_TYPE

void_WRAPPER_TYPE

public static final ClassNode void_WRAPPER_TYPE

CLASS_Type

public static final ClassNode CLASS_Type

METACLASS_TYPE

public static final ClassNode METACLASS_TYPE

GENERATED_CLOSURE_Type

public static final ClassNode GENERATED_CLOSURE_Type

Enum_Type

public static final ClassNode Enum_Type

Annotation_TYPE

public static final ClassNode Annotation_TYPE

ELEMENT_TYPE_TYPE

public static final ClassNode ELEMENT_TYPE_TYPE

EMPTY_TYPE_ARRAY

protected static final ClassNode[] EMPTY_TYPE_ARRAY

OBJECT

public static final String OBJECT
See Also:
Constant Field Values
Constructor Detail

ClassHelper

public ClassHelper()
Method Detail

make

public static ClassNode[] make(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(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(Class c,
                             boolean includeGenerics)

makeWithoutCaching

public static ClassNode makeWithoutCaching(Class c)

makeWithoutCaching

public static ClassNode makeWithoutCaching(Class c,
                                           boolean includeGenerics)

makeWithoutCaching

public static ClassNode makeWithoutCaching(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)

make

public static ClassNode make(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

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 exmaple for boolean, the wrapper class is java.lang.Boolean. If the parameter is no primitve type, the redirected ClassNode will be returned

Parameters:
cn - the ClassNode containing a possible primitive type
See Also:
make(Class), make(String)

getUnwrapper

public static ClassNode getUnwrapper(ClassNode cn)

isPrimitiveType

public static boolean isPrimitiveType(ClassNode cn)
Test to determine if a ClasNode is a primitve 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 primitve type
See Also:
make(Class), make(String)

isNumberType

public static boolean isNumberType(ClassNode cn)

makeReference

public static ClassNode makeReference()

isCachedType

public static boolean isCachedType(ClassNode type)

Copyright © 2003-2010 The Codehaus. All rights reserved.