Package groovy.util

Class ProxyGenerator

java.lang.Object
groovy.util.ProxyGenerator

public class ProxyGenerator
extends java.lang.Object
Generates 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.
  • 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 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 delegate
      interfaces - interfaces to be implemented
      delegate - the delegate object
      baseClass - the base class
      name - 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