Package groovy.lang
Class ExpandoMetaClassCreationHandle
java.lang.Object
groovy.lang.MetaClassRegistry.MetaClassCreationHandle
groovy.lang.ExpandoMetaClassCreationHandle
A handle for the MetaClassRegistry that changes all classes loaded into the Grails VM to use ExpandoMetaClass instances
The handle should be registered with the Groovy runtime before Groovy loads, for example
in your main method.
GroovySystem.metaClassRegistry.metaClassCreationHandle = new ExpandoMetaClassCreationHandle()
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ExpandoMetaClassCreationHandleShared creation handle instance used when expando meta classes are globally enabled. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected MetaClasscreateNormalMetaClass(Class theClass, MetaClassRegistry registry) Creates the standard meta class implementation for the supplied type.static voiddisable()Restores the default meta class creation handle for the Groovy runtime.static voidenable()Enables the ExpandoMetaClassCreationHandle with the registryExpandoMetaClassCreationHandle.enable();booleanChecks whether the supplied expando meta class has been registered as modified.voidRegisters a modified ExpandoMetaClass with the creation handleMethods inherited from class groovy.lang.MetaClassRegistry.MetaClassCreationHandle
create, isDisableCustomMetaClassLookup, setDisableCustomMetaClassLookup
-
Field Details
-
instance
Shared creation handle instance used when expando meta classes are globally enabled.
-
-
Constructor Details
-
ExpandoMetaClassCreationHandle
public ExpandoMetaClassCreationHandle()
-
-
Method Details
-
createNormalMetaClass
Creates the standard meta class implementation for the supplied type.- Overrides:
createNormalMetaClassin classMetaClassRegistry.MetaClassCreationHandle- Parameters:
theClass- the class that requires a meta classregistry- the registry creating the meta class- Returns:
- the default meta class implementation for the type
-
registerModifiedMetaClass
Registers a modified ExpandoMetaClass with the creation handle- Parameters:
emc- The EMC
-
hasModifiedMetaClass
Checks whether the supplied expando meta class has been registered as modified.- Parameters:
emc- the expando meta class to inspect- Returns:
trueif the class info retains a modified expando instance
-
enable
public static void enable()Enables the ExpandoMetaClassCreationHandle with the registry
ExpandoMetaClassCreationHandle.enable(); -
disable
public static void disable()Restores the default meta class creation handle for the Groovy runtime.
-