Package groovy.util
Class ProxyGenerator
- java.lang.Object
-
- groovy.util.ProxyGenerator
-
public class ProxyGenerator extends java.lang.Object
Classes to generate 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.
-
-
Field Summary
Fields Modifier and Type Field Description static ProxyGenerator
INSTANCE
-
Constructor Summary
Constructors Constructor Description ProxyGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
getDebug()
boolean
getEmptyMethods()
java.lang.ClassLoader
getOverride()
GroovyObject
instantiateAggregate(java.util.List<java.lang.Class> interfaces)
GroovyObject
instantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces)
GroovyObject
instantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Class clazz)
GroovyObject
instantiateAggregate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Class clazz, java.lang.Object[] constructorArgs)
GroovyObject
instantiateAggregateFromBaseClass(Closure cl, java.lang.Class clazz)
GroovyObject
instantiateAggregateFromBaseClass(java.lang.Class clazz)
GroovyObject
instantiateAggregateFromBaseClass(java.lang.Class clazz, java.lang.Object[] constructorArgs)
GroovyObject
instantiateAggregateFromBaseClass(java.util.Map map, java.lang.Class clazz)
GroovyObject
instantiateAggregateFromBaseClass(java.util.Map map, java.lang.Class clazz, java.lang.Object[] constructorArgs)
GroovyObject
instantiateAggregateFromInterface(java.lang.Class clazz)
GroovyObject
instantiateAggregateFromInterface(java.util.Map map, java.lang.Class clazz)
GroovyObject
instantiateDelegate(java.lang.Object delegate)
GroovyObject
instantiateDelegate(java.util.List<java.lang.Class> interfaces, java.lang.Object delegate)
GroovyObject
instantiateDelegate(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate)
GroovyObject
instantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate)
GroovyObject
instantiateDelegateWithBaseClass(java.util.Map closureMap, java.util.List<java.lang.Class> interfaces, java.lang.Object delegate, java.lang.Class baseClass)
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.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(java.lang.ClassLoader override)
-
-
-
Field Detail
-
INSTANCE
public static final ProxyGenerator INSTANCE
-
-
Method Detail
-
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 an
UnsupportedOperationException
but 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
public GroovyObject instantiateAggregateFromBaseClass(java.lang.Class clazz)
-
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(java.util.Map map, java.lang.Class clazz)
-
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Closure cl, java.lang.Class clazz)
-
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
public GroovyObject instantiateAggregateFromInterface(java.lang.Class clazz)
-
instantiateAggregateFromInterface
public GroovyObject instantiateAggregateFromInterface(java.util.Map map, java.lang.Class clazz)
-
instantiateAggregate
public GroovyObject instantiateAggregate(java.util.List<java.lang.Class> interfaces)
-
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
public GroovyObject instantiateDelegate(java.lang.Object delegate)
-
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
-
-