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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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