## org.codehaus.groovy.ast
Class ClassHelper

    java.lang.Object
      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` `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`
`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` `getWrapper(ClassNode cn)` Creates a ClassNode containing the wrapper of a ClassNode of primitive type.
`static boolean` `isPrimitiveType(ClassNode cn)` Test to determine if a ClasNode is a primitve type.
`static boolean` `isUnresolvedEnum(ClassNode node)`
`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

### 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 references

  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 is null of 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)`

### 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)`

### makeReference

    public static ClassNode makeReference()

### isUnresolvedEnum

    public static boolean isUnresolvedEnum(ClassNode node)

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