Package groovy.util

Class ProxyGenerator


  • public class ProxyGenerator
    extends Object
    Classes to generate 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.
    • Constructor Detail

      • ProxyGenerator

        public ProxyGenerator()
    • Method Detail

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

        public GroovyObject instantiateDelegateWithBaseClass​(Map closureMap,
                                                             List<Class> interfaces,
                                                             Object delegate)
      • instantiateDelegateWithBaseClass

        public GroovyObject instantiateDelegateWithBaseClass​(Map closureMap,
                                                             List<Class> interfaces,
                                                             Object delegate,
                                                             Class baseClass,
                                                             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