Package 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
  • Field Details

  • Constructor Details

    • ProxyGenerator

      public ProxyGenerator()
  • Method Details

    • 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)