org.codehaus.groovy.runtime.metaclass
Class LocallyKnownClasses

Field Summary
 int CACHE_SIZE
           
 int DONT_LOAD_DEFAULT
           
 int LOAD_DEFAULT
           
 def cache
           
 MetaClassRegistry instanceExclude
           
 MetaClassRegistry instanceInclude
           
 MyThreadLocal locallyKnown
           
 MetaClassCreationHandle metaClassCreationHandle
           
 int nextCacheEntry
           
 int version
           
 
Constructor Summary
LocallyKnownClasses()
           
 
Method Summary
def MetaClassRegistryImpl()
          
def MetaClassRegistryImpl(int loadDefault)
          
def MetaClassRegistryImpl(boolean useAccessible)
          
def MetaClassRegistryImpl(int loadDefault, boolean useAccessible)
          
MetaClass checkCache(Class theClass)
          
MetaClass checkMap(Class theClass)
          
void clear()
          
MetaClass getFromGlobal(Class theClass)
          
MetaClass getGlobalMetaClass(Class theClass)
          
static MetaClassRegistry getInstance(int includeExtension)
           Singleton of MetaClassRegistry.
FastArray getInstanceMethods()
          
MetaClass getMetaClass(Class theClass)
          
MetaClass getMetaClass(Class theClass)
          
MetaClassCreationHandle getMetaClassCreationHandler()
           Gets a handle internally used to create MetaClass implementations WARNING: experimental code, likely to change soon
FastArray getStaticMethods()
          
void installMetaClassCreationHandle()
           Looks for a class called 'groovy.runtime.metaclass.CustomMetaClassCreationHandle' and if it exists uses it as the MetaClassCreationHandle otherwise uses the default
Object put(Object key, Object value)
          
void putToCache(MetaClass value)
          
void registerMethods(Class theClass, boolean useInstanceMethods, Map map)
          
void removeMetaClass(Class theClass)
          
void setMetaClass(Class theClass, MetaClass theMetaClass)
           Registers a new MetaClass in the registry to customize the type
void setMetaClassCreationHandle(MetaClassCreationHandle handle)
           Sets a handle internally used to create MetaClass implementations.
boolean useAccessible()
          
 

Constructor Detail

LocallyKnownClasses

LocallyKnownClasses()


Method Detail

MetaClassRegistryImpl

public def MetaClassRegistryImpl()


MetaClassRegistryImpl

public def MetaClassRegistryImpl(int loadDefault)


MetaClassRegistryImpl

public def MetaClassRegistryImpl(boolean useAccessible)


MetaClassRegistryImpl

public def MetaClassRegistryImpl(int loadDefault, boolean useAccessible)


checkCache

MetaClass checkCache(Class theClass)


checkMap

MetaClass checkMap(Class theClass)


clear

public void clear()


getFromGlobal

MetaClass getFromGlobal(Class theClass)


getGlobalMetaClass

MetaClass getGlobalMetaClass(Class theClass)


getInstance

public static MetaClassRegistry getInstance(int includeExtension)
Singleton of MetaClassRegistry. Shall we use threadlocal to store the instance?
param:
includeExtension


getInstanceMethods

public FastArray getInstanceMethods()


getMetaClass

public MetaClass getMetaClass(Class theClass)


getMetaClass

public MetaClass getMetaClass(Class theClass)


getMetaClassCreationHandler

public MetaClassCreationHandle getMetaClassCreationHandler()
Gets a handle internally used to create MetaClass implementations WARNING: experimental code, likely to change soon
return:
the handle


getStaticMethods

public FastArray getStaticMethods()


installMetaClassCreationHandle

void installMetaClassCreationHandle()
Looks for a class called 'groovy.runtime.metaclass.CustomMetaClassCreationHandle' and if it exists uses it as the MetaClassCreationHandle otherwise uses the default
see:
MetaClassCreationHandle


put

public Object put(Object key, Object value)


putToCache

void putToCache(MetaClass value)


registerMethods

void registerMethods(Class theClass, boolean useInstanceMethods, Map map)


removeMetaClass

public void removeMetaClass(Class theClass)


setMetaClass

public void setMetaClass(Class theClass, MetaClass theMetaClass)
Registers a new MetaClass in the registry to customize the type
param:
theClass
param:
theMetaClass


setMetaClassCreationHandle

public void setMetaClassCreationHandle(MetaClassCreationHandle handle)
Sets a handle internally used to create MetaClass implementations. When replacing the handle with a custom version, you should resuse the old handle to keep custom logic and to use the default logic as fallback. WARNING: experimental code, likely to change soon
param:
handle the handle


useAccessible

public boolean useAccessible()