org.codehaus.groovy.reflection

## Class CachedClass

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

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

    public class CachedClass
    extends java.lang.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(java.lang.Class klazz, ClassInfo classInfo)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addNewMopMethods(java.util.List<MetaMethod> arr)`
`java.lang.Object` `coerceArgument(java.lang.Object argument)`
`CachedClass` `getCachedClass()` compatibility method
`CachedClass` `getCachedSuperClass()`
`CallSiteClassLoader` `getCallSiteLoader()`
`CachedConstructor[]` `getConstructors()`
`java.util.Set<CachedClass>` `getDeclaredInterfaces()`
`CachedField[]` `getFields()`
`java.util.Collection<ClassInfo>` `getHierarchy()`
`java.util.Set<CachedClass>` `getInterfaces()`
`CachedMethod[]` `getMethods()`
`int` `getModifiers()`
`java.lang.String` `getName()`
`MetaMethod[]` `getNewMetaMethods()`
`int` `getSuperClassDistance()`
`java.lang.Class` `getTheClass()`
`java.lang.String` `getTypeDescription()`
`int` `hashCode()`
`boolean` `isAssignableFrom(java.lang.Class argument)`
`boolean` `isDirectlyAssignable(java.lang.Object argument)`
`boolean` `isInterface()`
`boolean` `isPrimitive()`
`boolean` `isVoid()`
`CachedMethod` `searchMethods(java.lang.String name, CachedClass[] parameterTypes)`
`void` `setNewMopMethods(java.util.List<MetaMethod> arr)`
`java.lang.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(java.lang.Class klazz,
                       ClassInfo classInfo)

### Method Detail

#### getCachedSuperClass

    public CachedClass getCachedSuperClass()

#### getInterfaces

    public java.util.Set<CachedClass> getInterfaces()

#### getDeclaredInterfaces

    public java.util.Set<CachedClass> getDeclaredInterfaces()

#### getMethods

    public CachedMethod[] getMethods()

#### getFields

    public CachedField[] getFields()

#### getConstructors

    public CachedConstructor[] getConstructors()

#### searchMethods

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

#### getModifiers

    public int getModifiers()

#### coerceArgument

    public java.lang.Object coerceArgument(java.lang.Object argument)

#### getSuperClassDistance

    public int getSuperClassDistance()

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### isPrimitive

    public boolean isPrimitive()

#### isVoid

    public boolean isVoid()

#### isInterface

    public boolean isInterface()

#### getName

    public java.lang.String getName()

#### getTypeDescription

    public java.lang.String getTypeDescription()

#### getTheClass

    public final java.lang.Class getTheClass()

#### getNewMetaMethods

    public MetaMethod[] getNewMetaMethods()

#### setNewMopMethods

    public void setNewMopMethods(java.util.List<MetaMethod> arr)

#### addNewMopMethods

    public void addNewMopMethods(java.util.List<MetaMethod> arr)

#### isAssignableFrom

    public boolean isAssignableFrom(java.lang.Class argument)

#### isDirectlyAssignable

    public boolean isDirectlyAssignable(java.lang.Object argument)

#### getCallSiteLoader

    public CallSiteClassLoader getCallSiteLoader()

#### getHierarchy

    public java.util.Collection<ClassInfo> getHierarchy()

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### getCachedClass

    public CachedClass getCachedClass()

compatibility method

Returns:
  this