类 InterfaceMaker

  • 所有已实现的接口:
    ClassGenerator

    public class InterfaceMaker
    extends AbstractClassGenerator
    Generates new interfaces at runtime. By passing a generated interface to the Enhancer's list of interfaces to implement, you can make your enhanced classes handle an arbitrary set of method signatures.
    版本:
    $Id: InterfaceMaker.java,v 1.4 2006/03/05 02:43:19 herbyderby Exp $
    作者:
    Chris Nokleberg
    • 构造器详细资料

      • InterfaceMaker

        public InterfaceMaker()
        Create a new InterfaceMaker. A new InterfaceMaker object should be used for each generated interface, and should not be shared across threads.
    • 方法详细资料

      • add

        public void add​(Signature sig,
                        org.objectweb.asm.Type[] exceptions)
        Add a method signature to the interface.
        参数:
        sig - the method signature to add to the interface
        exceptions - an array of exception types to declare for the method
      • add

        public void add​(java.lang.reflect.Method method)
        Add a method signature to the interface. The method modifiers are ignored, since interface methods are by definition abstract and public.
        参数:
        method - the method to add to the interface
      • add

        public void add​(java.lang.Class clazz)
        Add all the public methods in the specified class. Methods from superclasses are included, except for methods declared in the base Object class (e.g. getClass, equals, hashCode).
        参数:
        class - the class containing the methods to add to the interface
      • create

        public java.lang.Class create()
        Create an interface using the current set of method signatures.
      • generateClass

        public void generateClass​(org.objectweb.asm.ClassVisitor v)
                           throws java.lang.Exception
        抛出:
        java.lang.Exception