Package: org.codehaus.groovy.reflection

## [Java] Class ClassInfo

- org.codehaus.groovy.reflection.ClassInfo

- Handle for all information we want to keep about the class

  Authors:
    Alex.Tkachman

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static class` | `ClassInfo.ClassInfoSet` |

  - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `int` | `hash` |

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `static void` | `clearModifiedExpandos()`
    `void` | `finalizeRef()`
    `static int` | `fullSize()`
    `static Collection<ClassInfo>` | `getAllClassInfo()`
    `ClassLoaderForClassArtifacts` | `getArtifactClassLoader()`
    `CachedClass` | `getCachedClass()`
    `static ClassInfo` | `getClassInfo(Class cls)`
    `MetaClass` | `getMetaClass()`
    `MetaClass` | `getMetaClass(Object obj)`
    `MetaClass` | `getMetaClassForClass()`
    `ExpandoMetaClass` | `getModifiedExpando()`
    `MetaClass` | `getPerInstanceMetaClass(Object obj)`
    `MetaClass` | `getStrongMetaClass()`
    `int` | `getVersion()`
    `MetaClass` | `getWeakMetaClass()`
    `boolean` | `hasPerInstanceMetaClasses()`
    `void` | `incVersion()`
    `void` | `lock()`
    `void` | `setPerInstanceMetaClass(Object obj, MetaClass metaClass)`
    `void` | `setStrongMetaClass(MetaClass answer)`
    `void` | `setWeakMetaClass(MetaClass answer)`
    `static int` | `size()`
    `void` | `unlock()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.codehaus.groovy.util.ManagedConcurrentMap$Entry` | `org.codehaus.groovy.util.ManagedConcurrentMap$Entry#finalizeRef(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#isEqual(java.lang.Object, int), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#getHash(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#getValue(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#setValue(java.lang.Object), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#isValid(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#finalizeReference(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#get(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#clear(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#wait(long, int), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#wait(long), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#wait(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#equals(java.lang.Object), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#toString(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#hashCode(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#getClass(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#notify(), org.codehaus.groovy.util.ManagedConcurrentMap$Entry#notifyAll()`
    `class ManagedReference` | `finalizeReference, get, clear, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### public final int hash

  - ### Method Detail

    - #### public static void clearModifiedExpandos()

    - #### public void finalizeRef()

    - #### public static int fullSize()

    - #### public static Collection<ClassInfo> getAllClassInfo()

    - #### public ClassLoaderForClassArtifacts getArtifactClassLoader()

    - #### public CachedClass getCachedClass()

    - #### public static ClassInfo getClassInfo(Class cls)

    - #### public final MetaClass getMetaClass()

    - #### public MetaClass getMetaClass(Object obj)

    - #### public MetaClass getMetaClassForClass()

    - #### public ExpandoMetaClass getModifiedExpando()

    - #### public MetaClass getPerInstanceMetaClass(Object obj)

    - #### public MetaClass getStrongMetaClass()

    - #### public int getVersion()

    - #### public MetaClass getWeakMetaClass()

    - #### public boolean hasPerInstanceMetaClasses()

    - #### public void incVersion()

    - #### public void lock()

    - #### public void setPerInstanceMetaClass(Object obj, MetaClass metaClass)

    - #### public void setStrongMetaClass(MetaClass answer)

    - #### public void setWeakMetaClass(MetaClass answer)

    - #### public static int size()

    - #### public void unlock()