Package groovy.util

Class ProxyGenerator


  • public class ProxyGenerator
    extends java.lang.Object
    Classes to generate 'Proxy' objects which implement interfaces, maps of closures and/or extend classes/delegates.
    Author:
    Paul King, Guillaume Laforge
    • 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
      • 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)
      • getSimpleName

        public 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 java.lang.String shortName​(java.lang.String name)