Package 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 Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `CachedClass.CachedMethodComparatorByName` |
    `static class` | `CachedClass.CachedMethodComparatorWithString` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `ClassInfo` | `classInfo` |
    `static CachedClass[]` | `EMPTY_ARRAY` |
    `boolean` | `isArray` |
    `boolean` | `isInterface` |
    `boolean` | `isNumber` |
    `boolean` | `isPrimitive` |
    `int` | `modifiers` |
    `CachedMethod[]` | `mopMethods` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CachedClass​(Class<?> klazz, ClassInfo classInfo)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addNewMopMethods​(List<MetaMethod> arr)` |
    `Object` | `coerceArgument​(Object argument)` |
    `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

    - #### EMPTY_ARRAY

          public static final CachedClass[] EMPTY_ARRAY

    - #### classInfo

          public ClassInfo classInfo

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

    - #### mopMethods

          public CachedMethod[] mopMethods

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

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