InterfaceMaker (cglib (Version 2.2.2))
Date: 2012-11-18

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.cglib.proxy
Class InterfaceMaker

    java.lang.Object
      net.sf.cglib.core.AbstractClassGenerator
          net.sf.cglib.proxy.InterfaceMaker

All Implemented Interfaces:
  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.

Version:
  $Id: InterfaceMaker.java,v 1.4 2006/03/05 02:43:19 herbyderby Exp $
Author:
  Chris Nokleberg

Constructor Summary
`InterfaceMaker()` Create a new `InterfaceMaker`.

Method Summary
`void` | `add(java.lang.Class clazz)` Add all the public methods in the specified class.
`void` | `add(java.lang.reflect.Method method)` Add a method signature to the interface.
`void` | `add(Signature sig, org.objectweb.asm.Type[] exceptions)` Add a method signature to the interface.
`java.lang.Class` | `create()` Create an interface using the current set of method signatures.
`void` | `generateClass(org.objectweb.asm.ClassVisitor v)`

Methods inherited from class net.sf.cglib.core.AbstractClassGenerator
`getAttemptLoad, getClassLoader, getCurrent, getNamingPolicy, getStrategy, getUseCache, setAttemptLoad, setClassLoader, setNamingPolicy, setStrategy, setUseCache`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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.

Method Detail

### add

    public void add(Signature sig,
                    org.objectweb.asm.Type[] exceptions)

  Add a method signature to the interface.

  Parameters:
    `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.

  Parameters:
    `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`).

  Parameters:
    `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

  Throws:
    `java.lang.Exception`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2001 - Apache Software Foundation