org.codehaus.groovy.reflection

## Class CachedClass

- java.lang.Object
- - org.codehaus.groovy.reflection.CachedClass

Direct Known Subclasses:
  ArrayCachedClass, BooleanCachedClass, CachedClosureClass, CharacterCachedClass, NumberCachedClass, ObjectCachedClass, StringCachedClass

    public class CachedClass
    extends Object

Author:
  Alex.Tkachman

### Nested Class Summary

Nested Classes
`static class` `CachedClass.CachedMethodComparatorByName`
`static class` `CachedClass.CachedMethodComparatorWithString`

### Field Summary

Fields
`ClassInfo` `classInfo`
`static CachedClass[]` `EMPTY_ARRAY`
`boolean` `isArray`
`boolean` `isInterface`
`boolean` `isNumber`
`boolean` `isPrimitive`
`int` `modifiers`
`CachedMethod[]` `mopMethods`

### Constructor Summary

Constructors
Constructor and Description
`CachedClass(Class klazz, ClassInfo classInfo)`

### Method Summary

Methods
`void` `addNewMopMethods(List<MetaMethod> arr)`
`Object` `coerceArgument(Object argument)`
`void` `doCast(BytecodeHelper helper)`
`CachedClass` `getCachedClass()` compatibility method
`CachedClass` `getCachedSuperClass()`
`CallSiteClassLoader` `getCallSiteLoader()`
`CachedConstructor[]` `getConstructors()`
`Set<CachedClass>` `getDeclaredInterfaces()`
`CachedField[]` `getFields()`
`Collection<ClassInfo>` `getHierarchy()`
`Set<CachedClass>` `getInterfaces()`
`CachedMethod[]` `getMethods()`
`int` `getModifiers()`
`String` `getName()`
`MetaMethod[]` `getNewMetaMethods()`
`int` `getSuperClassDistance()`
`Class` `getTheClass()`
`String` `getTypeDescription()`
`int` `hashCode()`
`boolean` `isAssignableFrom(Class argument)`
`boolean` `isDirectlyAssignable(Object argument)`
`boolean` `isInterface()`
`boolean` `isPrimitive()`
`boolean` `isVoid()`
`CachedMethod` `searchMethods(String name, CachedClass[] parameterTypes)`
`void` `setNewMopMethods(List<MetaMethod> arr)`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### classInfo

    public ClassInfo classInfo

#### mopMethods

    public CachedMethod[] mopMethods

#### EMPTY_ARRAY

    public static final CachedClass[] EMPTY_ARRAY

#### isArray

    public final boolean isArray

#### isPrimitive

    public final boolean isPrimitive

#### modifiers

    public final int modifiers

#### isInterface

    public final boolean isInterface

#### isNumber

    public final boolean isNumber

### Constructor Detail

#### CachedClass

    public CachedClass(Class klazz,
               ClassInfo classInfo)

### Method Detail

#### getCachedSuperClass

    public CachedClass getCachedSuperClass()

#### getInterfaces

    public Set<CachedClass> getInterfaces()

#### getDeclaredInterfaces

    public Set<CachedClass> getDeclaredInterfaces()

#### getMethods

    public CachedMethod[] getMethods()

#### getFields

    public CachedField[] getFields()

#### getConstructors

    public CachedConstructor[] getConstructors()

#### searchMethods

    public CachedMethod searchMethods(String name,
                             CachedClass[] parameterTypes)

#### getModifiers

    public int getModifiers()

#### coerceArgument

    public Object coerceArgument(Object argument)

#### getSuperClassDistance

    public int getSuperClassDistance()

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### isPrimitive

    public boolean isPrimitive()

#### isVoid

    public boolean isVoid()

#### isInterface

    public boolean isInterface()

#### doCast

    public void doCast(BytecodeHelper helper)

#### getName

    public String getName()

#### getTypeDescription

    public String getTypeDescription()

#### getTheClass

    public final Class getTheClass()

#### getNewMetaMethods

    public MetaMethod[] getNewMetaMethods()

#### setNewMopMethods

    public void setNewMopMethods(List<MetaMethod> arr)

#### addNewMopMethods

    public void addNewMopMethods(List<MetaMethod> arr)

#### isAssignableFrom

    public boolean isAssignableFrom(Class argument)

#### isDirectlyAssignable

    public boolean isDirectlyAssignable(Object argument)

#### getCallSiteLoader

    public CallSiteClassLoader getCallSiteLoader()

#### getHierarchy

    public Collection<ClassInfo> getHierarchy()

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### getCachedClass

    public CachedClass getCachedClass()

compatibility method

Returns:
  this