Package groovy.util
Class ProxyGenerator
java.lang.Object
groovy.util.ProxyGenerator
Classes to generate 'Proxy' objects which implement interfaces,
maps of closures and/or extend classes/delegates.
- Author:
- Paul King, Guillaume Laforge
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleangetDebug()booleanTODO once we switch to Java 1.5 bt default, use Class#getSimpleName() directlyinstantiateAggregate(List<Class> interfaces) instantiateAggregate(Map closureMap, List<Class> interfaces) instantiateAggregate(Map closureMap, List<Class> interfaces, Class clazz) instantiateAggregateFromBaseClass(Closure cl, Class clazz) instantiateAggregateFromBaseClass(Class clazz, Object[] constructorArgs) instantiateAggregateFromBaseClass(Map map, Class clazz) instantiateAggregateFromBaseClass(Map map, Class clazz, Object[] constructorArgs) instantiateAggregateFromInterface(Map map, Class clazz) instantiateDelegate(Object delegate) instantiateDelegate(List<Class> interfaces, Object delegate) instantiateDelegate(Map closureMap, List<Class> interfaces, Object delegate) instantiateDelegateWithBaseClass(Map closureMap, List<Class> interfaces, Object delegate) instantiateDelegateWithBaseClass(Map closureMap, List<Class> interfaces, Object delegate, Class baseClass) instantiateDelegateWithBaseClass(Map closureMap, List<Class> interfaces, Object delegate, Class baseClass, String name) voidsetDebug(boolean debug) InstructsProxyGeneratorto dump generated Groovy source code to standard output during construction.voidsetEmptyMethods(boolean emptyMethods) Changes generated methods to have empty implementations.voidsetOverride(ClassLoader override)
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
ProxyGenerator
public ProxyGenerator()
-
-
Method Details
-
getDebug
public boolean getDebug() -
setDebug
public void setDebug(boolean debug) InstructsProxyGeneratorto dump generated Groovy source code to standard output during construction. This is useful for debugging purposes but should be turned off in production.- Parameters:
debug- true if you want generated source to be printed
-
getEmptyMethods
public boolean getEmptyMethods() -
setEmptyMethods
public void setEmptyMethods(boolean emptyMethods) Changes generated methods to have empty implementations. Methods in generated aggregates not supplied in a closures map or base class are given 'default' implementations. The implementation will normally throw anUnsupportedOperationExceptionbut setting this boolean will leave it empty.- Parameters:
emptyMethods- true if you want generated methods to be empty
-
getOverride
-
setOverride
-
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Map map, Class clazz, Object[] constructorArgs) -
instantiateAggregateFromInterface
-
instantiateAggregateFromInterface
-
instantiateAggregate
-
instantiateAggregate
-
instantiateAggregate
-
instantiateAggregate
-
instantiateDelegate
-
instantiateDelegate
-
instantiateDelegate
-
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(Map closureMap, List<Class> interfaces, Object delegate) -
instantiateDelegateWithBaseClass
-
instantiateDelegateWithBaseClass
-
getSimpleName
TODO once we switch to Java 1.5 bt default, use Class#getSimpleName() directly- Parameters:
c- the class of which we want the readable simple name- Returns:
- the readable simple name
-
shortName
-