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
and/or extend classes.
- Author:
- Paul King, Guillaume Laforge
Field Summary |
static boolean |
debug
|
Method Summary |
private static void |
addMapOrDummyCall(java.util.Map map,
java.lang.StringBuffer buffer,
java.lang.reflect.Method method)
|
private static void |
addMethodBody(java.lang.StringBuffer buffer,
java.lang.reflect.Method method,
java.lang.Class[] parameterTypes)
|
private static java.lang.Class[] |
addMethodPrefix(java.lang.StringBuffer buffer,
java.lang.reflect.Method method)
|
private static void |
addMethodSuffix(java.lang.StringBuffer buffer)
|
private static void |
addNewMapCall(java.lang.StringBuffer buffer,
java.lang.String methodName)
|
private static void |
addOverridingMapCall(java.lang.StringBuffer buffer,
java.lang.reflect.Method method)
|
private static void |
addWrappedCall(java.lang.StringBuffer buffer,
java.lang.reflect.Method method,
java.util.Map map)
|
private static void |
addWrappedMethodBody(java.lang.StringBuffer buffer,
java.lang.reflect.Method method,
java.lang.Class[] parameterTypes)
|
private static boolean |
containsEquivalentMethod(java.util.List publicAndProtectedMethods,
java.lang.reflect.Method candidate)
|
private static java.util.List |
getInheritedMethods(java.lang.Class baseClass)
|
private static java.lang.String |
getSimpleName(java.lang.Class c)
TODO once we switch to Java 1.5 bt default, use Class#getSimpleName() directly |
private static boolean |
hasMatchingParameterTypes(java.lang.reflect.Method method,
java.lang.reflect.Method candidate)
|
static java.lang.Object |
instantiateAggregate(java.util.List interfaces)
|
static java.lang.Object |
instantiateAggregate(java.util.Map closureMap,
java.util.List interfaces)
|
static java.lang.Object |
instantiateAggregate(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Class clazz)
|
static java.lang.Object |
instantiateAggregate(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Class clazz,
java.lang.Object[] constructorArgs)
|
static java.lang.Object |
instantiateAggregateFromBaseClass(java.lang.Class clazz)
|
static java.lang.Object |
instantiateAggregateFromBaseClass(java.util.Map map,
java.lang.Class clazz)
|
static java.lang.Object |
instantiateAggregateFromBaseClass(java.util.Map map,
java.lang.Class clazz,
java.lang.Object[] constructorArgs)
|
static java.lang.Object |
instantiateAggregateFromInterface(java.lang.Class clazz)
|
static java.lang.Object |
instantiateAggregateFromInterface(java.util.Map map,
java.lang.Class clazz)
|
static java.lang.Object |
instantiateDelegate(java.util.List interfaces,
java.lang.Object delegate)
|
static java.lang.Object |
instantiateDelegate(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Object delegate)
|
static java.lang.Object |
instantiateDelegate(java.lang.Object delegate)
|
static java.lang.Object |
instantiateDelegateWithBaseClass(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Object delegate)
|
static java.lang.Object |
instantiateDelegateWithBaseClass(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Object delegate,
java.lang.Class baseClass)
|
static java.lang.String |
shortName(java.lang.String name)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
debug
public static boolean debug
ProxyGenerator
public ProxyGenerator()
instantiateAggregateFromBaseClass
public static java.lang.Object instantiateAggregateFromBaseClass(java.lang.Class clazz)
instantiateAggregateFromBaseClass
public static java.lang.Object instantiateAggregateFromBaseClass(java.util.Map map,
java.lang.Class clazz)
instantiateAggregateFromBaseClass
public static java.lang.Object instantiateAggregateFromBaseClass(java.util.Map map,
java.lang.Class clazz,
java.lang.Object[] constructorArgs)
instantiateAggregateFromInterface
public static java.lang.Object instantiateAggregateFromInterface(java.lang.Class clazz)
instantiateAggregateFromInterface
public static java.lang.Object instantiateAggregateFromInterface(java.util.Map map,
java.lang.Class clazz)
instantiateAggregate
public static java.lang.Object instantiateAggregate(java.util.List interfaces)
instantiateAggregate
public static java.lang.Object instantiateAggregate(java.util.Map closureMap,
java.util.List interfaces)
instantiateAggregate
public static java.lang.Object instantiateAggregate(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Class clazz)
instantiateAggregate
public static java.lang.Object instantiateAggregate(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Class clazz,
java.lang.Object[] constructorArgs)
instantiateDelegate
public static java.lang.Object instantiateDelegate(java.lang.Object delegate)
instantiateDelegate
public static java.lang.Object instantiateDelegate(java.util.List interfaces,
java.lang.Object delegate)
instantiateDelegate
public static java.lang.Object instantiateDelegate(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Object delegate)
instantiateDelegateWithBaseClass
public static java.lang.Object instantiateDelegateWithBaseClass(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Object delegate)
instantiateDelegateWithBaseClass
public static java.lang.Object instantiateDelegateWithBaseClass(java.util.Map closureMap,
java.util.List interfaces,
java.lang.Object delegate,
java.lang.Class baseClass)
addWrappedCall
private static void addWrappedCall(java.lang.StringBuffer buffer,
java.lang.reflect.Method method,
java.util.Map map)
containsEquivalentMethod
private static boolean containsEquivalentMethod(java.util.List publicAndProtectedMethods,
java.lang.reflect.Method candidate)
hasMatchingParameterTypes
private static boolean hasMatchingParameterTypes(java.lang.reflect.Method method,
java.lang.reflect.Method candidate)
getInheritedMethods
private static java.util.List getInheritedMethods(java.lang.Class baseClass)
addNewMapCall
private static void addNewMapCall(java.lang.StringBuffer buffer,
java.lang.String methodName)
addOverridingMapCall
private static void addOverridingMapCall(java.lang.StringBuffer buffer,
java.lang.reflect.Method method)
addMapOrDummyCall
private static void addMapOrDummyCall(java.util.Map map,
java.lang.StringBuffer buffer,
java.lang.reflect.Method method)
addMethodPrefix
private static java.lang.Class[] addMethodPrefix(java.lang.StringBuffer buffer,
java.lang.reflect.Method method)
addMethodBody
private static void addMethodBody(java.lang.StringBuffer buffer,
java.lang.reflect.Method method,
java.lang.Class[] parameterTypes)
addWrappedMethodBody
private static void addWrappedMethodBody(java.lang.StringBuffer buffer,
java.lang.reflect.Method method,
java.lang.Class[] parameterTypes)
addMethodSuffix
private static void addMethodSuffix(java.lang.StringBuffer buffer)
getSimpleName
private static java.lang.String getSimpleName(java.lang.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 static java.lang.String shortName(java.lang.String name)
Copyright © ${year} The Codehaus. All Rights Reserved.