groovy.util
Class ProxyGenerator

java.lang.Object
  extended by 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
           
 
Constructor Summary
ProxyGenerator()
           
 
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
 

Field Detail

debug

public static boolean debug
Constructor Detail

ProxyGenerator

public ProxyGenerator()
Method Detail

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.