org.codehaus.groovy.reflection

## Class ClassInfo

- java.lang.Object
- - org.codehaus.groovy.util.ManagedReference<K>
  - - org.codehaus.groovy.util.ManagedConcurrentMap.Entry<Class,ClassInfo>
    - - org.codehaus.groovy.reflection.ClassInfo

All Implemented Interfaces:
  AbstractConcurrentMap.Entry<Class,ClassInfo>, AbstractConcurrentMapBase.Entry<ClassInfo>, Finalizable

    public class ClassInfo
    extends ManagedConcurrentMap.Entry<Class,ClassInfo>

Handle for all information we want to keep about the class

Author:
  Alex.Tkachman

### Nested Class Summary

Nested Classes
`static class` `ClassInfo.ClassInfoSet`

### Field Summary

Fields
`int` `hash`

### Method Summary

Methods
`static void` `clearModifiedExpandos()`
`void` `finalizeRef()`
`static int` `fullSize()`
`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()`

### Methods inherited from class org.codehaus.groovy.util.ManagedConcurrentMap.Entry

`getHash, getValue, isEqual, isValid, setValue`

### Methods inherited from class org.codehaus.groovy.util.ManagedReference

`clear, finalizeReference, get`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### hash

    public final int hash

### Method Detail

#### getVersion

    public int getVersion()

#### incVersion

    public void incVersion()

#### getModifiedExpando

    public ExpandoMetaClass getModifiedExpando()

#### clearModifiedExpandos

    public static void clearModifiedExpandos()

#### getCachedClass

    public CachedClass getCachedClass()

#### getArtifactClassLoader

    public ClassLoaderForClassArtifacts getArtifactClassLoader()

#### getClassInfo

    public static ClassInfo getClassInfo(Class cls)

#### getStrongMetaClass

    public MetaClass getStrongMetaClass()

#### setStrongMetaClass

    public void setStrongMetaClass(MetaClass answer)

#### getWeakMetaClass

    public MetaClass getWeakMetaClass()

#### setWeakMetaClass

    public void setWeakMetaClass(MetaClass answer)

#### getMetaClassForClass

    public MetaClass getMetaClassForClass()

#### getMetaClass

    public final MetaClass getMetaClass()

#### getMetaClass

    public MetaClass getMetaClass(Object obj)

#### size

    public static int size()

#### fullSize

    public static int fullSize()

#### finalizeRef

    public void finalizeRef()

Overrides:
  `finalizeRef` in class `ManagedConcurrentMap.Entry<Class,ClassInfo>`

#### lock

    public void lock()

#### unlock

    public void unlock()

#### getPerInstanceMetaClass

    public MetaClass getPerInstanceMetaClass(Object obj)

#### setPerInstanceMetaClass

    public void setPerInstanceMetaClass(Object obj,
                               MetaClass metaClass)

#### hasPerInstanceMetaClasses

    public boolean hasPerInstanceMetaClasses()