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 TypeMethodDescriptionboolean
getDebug()
boolean
TODO 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) void
setDebug
(boolean debug) InstructsProxyGenerator
to dump generated Groovy source code to standard output during construction.void
setEmptyMethods
(boolean emptyMethods) Changes generated methods to have empty implementations.void
setOverride
(ClassLoader override)
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
ProxyGenerator
public ProxyGenerator()
-
-
Method Details
-
getDebug
public boolean getDebug() -
setDebug
public void setDebug(boolean debug) InstructsProxyGenerator
to 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 anUnsupportedOperationException
but 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
-