Class InterfaceMaker
java.lang.Object
org.springframework.cglib.core.AbstractClassGenerator
org.springframework.cglib.proxy.InterfaceMaker
- All Implemented Interfaces:
ClassGenerator
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.
- Author:
- Chris Nokleberg
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractClassGenerator
AbstractClassGenerator.ClassLoaderData, AbstractClassGenerator.Source -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd all the public methods in the specified class.voidAdd a method signature to the interface.voidAdd a method signature to the interface.create()Create an interface using the current set of method signatures.protected ObjectfirstInstance(Class type) voidprotected ClassLoaderprotected ObjectnextInstance(Object instance) Methods inherited from class AbstractClassGenerator
create, generate, getAttemptLoad, getClassLoader, getClassName, getCurrent, getNamingPolicy, getProtectionDomain, getStrategy, getUseCache, setAttemptLoad, setClassLoader, setContextClass, setNamePrefix, setNamingPolicy, setStrategy, setUseCache, unwrapCachedValue, wrapCachedClass
-
Constructor Details
-
InterfaceMaker
public InterfaceMaker()Create a newInterfaceMaker. A newInterfaceMakerobject should be used for each generated interface, and should not be shared across threads.
-
-
Method Details
-
add
-
add
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
Add all the public methods in the specified class. Methods from superclasses are included, except for methods declared in the base Object class (for example,getClass,equals,hashCode).- Parameters:
clazz- the class containing the methods to add to the interface
-
create
Create an interface using the current set of method signatures. -
getDefaultClassLoader
- Specified by:
getDefaultClassLoaderin classAbstractClassGenerator
-
firstInstance
- Specified by:
firstInstancein classAbstractClassGenerator
-
nextInstance
- Specified by:
nextInstancein classAbstractClassGenerator
-
generateClass
- Throws:
Exception
-