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
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CachedClass.CachedMethodComparatorByName`
    `static class` | `CachedClass.CachedMethodComparatorWithString`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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