Package groovy.util
Class ProxyGenerator
java.lang.Object
groovy.util.ProxyGenerator
public class ProxyGenerator
extends java.lang.Object
Generates 'Proxy' objects which implement interfaces, maps of closures and/or
extend classes/delegates.
-
Field Summary
Fields Modifier and Type Field Description static ProxyGeneratorINSTANCE -
Constructor Summary
Constructors Constructor Description ProxyGenerator() -
Method Summary
Modifier and Type Method Description booleangetDebug()booleangetEmptyMethods()java.lang.ClassLoadergetOverride()GroovyObjectinstantiateAggregate(java.util.List<java.lang.Class> interfaces)GroovyObjectinstantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces)GroovyObjectinstantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Class clazz)GroovyObjectinstantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Class clazz, java.lang.Object[] constructorArgs)GroovyObjectinstantiateAggregateFromBaseClass(Closure cl, java.lang.Class clazz)GroovyObjectinstantiateAggregateFromBaseClass(java.lang.Class clazz)GroovyObjectinstantiateAggregateFromBaseClass(java.lang.Class clazz, java.lang.Object[] constructorArgs)GroovyObjectinstantiateAggregateFromBaseClass(java.util.Map map, java.lang.Class clazz)GroovyObjectinstantiateAggregateFromBaseClass(java.util.Map map, java.lang.Class clazz, java.lang.Object[] constructorArgs)GroovyObjectinstantiateAggregateFromInterface(java.lang.Class clazz)GroovyObjectinstantiateAggregateFromInterface(java.util.Map map, java.lang.Class clazz)GroovyObjectinstantiateDelegate(java.lang.Object delegate)GroovyObjectinstantiateDelegate(java.util.List<java.lang.Class> interfaces, java.lang.Object delegate)GroovyObjectinstantiateDelegate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate)GroovyObjectinstantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate)GroovyObjectinstantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate, java.lang.Class baseClass)GroovyObjectinstantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate, java.lang.Class baseClass, java.lang.String name)Creates a proxy with a delegate object.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(java.lang.ClassLoader override)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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 an
UnsupportedOperationExceptionbut setting this boolean will leave it empty.- Parameters:
emptyMethods- true if you want generated methods to be empty
-
getOverride
public java.lang.ClassLoader getOverride() -
setOverride
public void setOverride(java.lang.ClassLoader override) -
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
-
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(java.lang.Class clazz, java.lang.Object[] constructorArgs) -
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(java.util.Map map, java.lang.Class clazz, java.lang.Object[] constructorArgs) -
instantiateAggregateFromInterface
-
instantiateAggregateFromInterface
-
instantiateAggregate
-
instantiateAggregate
public GroovyObject instantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces) -
instantiateAggregate
public GroovyObject instantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Class clazz) -
instantiateAggregate
public GroovyObject instantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Class clazz, java.lang.Object[] constructorArgs) -
instantiateDelegate
-
instantiateDelegate
public GroovyObject instantiateDelegate(java.util.List<java.lang.Class> interfaces, java.lang.Object delegate) -
instantiateDelegate
public GroovyObject instantiateDelegate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate) -
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate) -
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate, java.lang.Class baseClass) -
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate, java.lang.Class baseClass, java.lang.String name)Creates a proxy with a delegate object.- Parameters:
closureMap- the closure for methods not handled by the delegateinterfaces- interfaces to be implementeddelegate- the delegate objectbaseClass- the base classname- the name of the proxy, unused, but kept for compatibility with previous versions of Groovy.- Returns:
- a proxy object implementing the specified interfaces, and delegating to the provided object
-