Skip to content

Instantly share code, notes, and snippets.

@danveloper
Created July 26, 2013 06:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danveloper/6086719 to your computer and use it in GitHub Desktop.
Save danveloper/6086719 to your computer and use it in GitHub Desktop.
Custom MetaClass Creation Handler for Groovy
package com.objectpartners.groovy.ext;
import groovy.lang.MetaClass;
import groovy.lang.MetaClassRegistry;
import org.codehaus.groovy.runtime.GeneratedClosure;
import org.codehaus.groovy.runtime.metaclass.ClosureMetaClass;
class CustomMetaClassCreationHandle extends MetaClassRegistry.MetaClassCreationHandle {
protected MetaClass createNormalMetaClass(Class theClass,MetaClassRegistry registry) {
if (GeneratedClosure.class.isAssignableFrom(theClass)) {
return new ClosureMetaClass(registry,theClass);
} else {
return new MixinResolvingMetaClass(registry, theClass);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment