groovy.util
Class ProxyGenerator
java.lang.Object
groovy.util.ProxyGenerator
public class ProxyGenerator
- extends Object
Classes to generate 'Proxy' objects which implement interfaces,
maps of closures and/or extend classes/delegates.
- Author:
- Paul King, Guillaume Laforge
Method Summary |
boolean |
getDebug()
|
boolean |
getEmptyMethods()
|
ClassLoader |
getOverride()
|
String |
getSimpleName(Class c)
TODO once we switch to Java 1.5 bt default, use Class#getSimpleName() directly |
GroovyObject |
instantiateAggregate(List<Class> interfaces)
|
GroovyObject |
instantiateAggregate(Map closureMap,
List<Class> interfaces)
|
GroovyObject |
instantiateAggregate(Map closureMap,
List<Class> interfaces,
Class clazz)
|
GroovyObject |
instantiateAggregate(Map closureMap,
List<Class> interfaces,
Class clazz,
Object[] constructorArgs)
|
GroovyObject |
instantiateAggregateFromBaseClass(Class clazz)
|
GroovyObject |
instantiateAggregateFromBaseClass(Class clazz,
Object[] constructorArgs)
|
GroovyObject |
instantiateAggregateFromBaseClass(Closure cl,
Class clazz)
|
GroovyObject |
instantiateAggregateFromBaseClass(Map map,
Class clazz)
|
GroovyObject |
instantiateAggregateFromBaseClass(Map map,
Class clazz,
Object[] constructorArgs)
|
GroovyObject |
instantiateAggregateFromInterface(Class clazz)
|
GroovyObject |
instantiateAggregateFromInterface(Map map,
Class clazz)
|
GroovyObject |
instantiateDelegate(List<Class> interfaces,
Object delegate)
|
GroovyObject |
instantiateDelegate(Map closureMap,
List<Class> interfaces,
Object delegate)
|
GroovyObject |
instantiateDelegate(Object delegate)
|
GroovyObject |
instantiateDelegateWithBaseClass(Map closureMap,
List<Class> interfaces,
Object delegate)
|
GroovyObject |
instantiateDelegateWithBaseClass(Map closureMap,
List<Class> interfaces,
Object delegate,
Class baseClass)
|
GroovyObject |
instantiateDelegateWithBaseClass(Map closureMap,
List<Class> interfaces,
Object delegate,
Class baseClass,
String name)
|
void |
setDebug(boolean debug)
Instructs ProxyGenerator 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)
|
String |
shortName(String name)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INSTANCE
public static final ProxyGenerator INSTANCE
ProxyGenerator
public ProxyGenerator()
getDebug
public boolean getDebug()
setDebug
public void setDebug(boolean debug)
- Instructs
ProxyGenerator
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 ClassLoader getOverride()
setOverride
public void setOverride(ClassLoader override)
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Class clazz)
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Map map,
Class clazz)
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Closure cl,
Class clazz)
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Class clazz,
Object[] constructorArgs)
instantiateAggregateFromBaseClass
public GroovyObject instantiateAggregateFromBaseClass(Map map,
Class clazz,
Object[] constructorArgs)
instantiateAggregateFromInterface
public GroovyObject instantiateAggregateFromInterface(Class clazz)
instantiateAggregateFromInterface
public GroovyObject instantiateAggregateFromInterface(Map map,
Class clazz)
instantiateAggregate
public GroovyObject instantiateAggregate(List<Class> interfaces)
instantiateAggregate
public GroovyObject instantiateAggregate(Map closureMap,
List<Class> interfaces)
instantiateAggregate
public GroovyObject instantiateAggregate(Map closureMap,
List<Class> interfaces,
Class clazz)
instantiateAggregate
public GroovyObject instantiateAggregate(Map closureMap,
List<Class> interfaces,
Class clazz,
Object[] constructorArgs)
instantiateDelegate
public GroovyObject instantiateDelegate(Object delegate)
instantiateDelegate
public GroovyObject instantiateDelegate(List<Class> interfaces,
Object delegate)
instantiateDelegate
public GroovyObject instantiateDelegate(Map closureMap,
List<Class> interfaces,
Object delegate)
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(Map closureMap,
List<Class> interfaces,
Object delegate)
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(Map closureMap,
List<Class> interfaces,
Object delegate,
Class baseClass)
instantiateDelegateWithBaseClass
public GroovyObject instantiateDelegateWithBaseClass(Map closureMap,
List<Class> interfaces,
Object delegate,
Class baseClass,
String name)
getSimpleName
public String getSimpleName(Class c)
- 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
public String shortName(String name)