Package net.sf.cglib.proxy
Class Enhancer.EnhancerFactoryData
- java.lang.Object
-
- net.sf.cglib.proxy.Enhancer.EnhancerFactoryData
-
- Enclosing class:
- Enhancer
static class Enhancer.EnhancerFactoryData extends java.lang.ObjectThe idea of the class is to cache relevant java.lang.reflect instances so proxy-class can be instantiated faster that when usingReflectUtils.newInstance(Class, Class[], Object[])andEnhancer.setThreadCallbacks(Class, Callback[])
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.ClassgeneratedClassprivate java.lang.reflect.ConstructorprimaryConstructorprivate java.lang.Class[]primaryConstructorArgTypesprivate java.lang.reflect.MethodsetThreadCallbacks
-
Constructor Summary
Constructors Constructor Description EnhancerFactoryData(java.lang.Class generatedClass, java.lang.Class[] primaryConstructorArgTypes, boolean classOnly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectnewInstance(java.lang.Class[] argumentTypes, java.lang.Object[] arguments, Callback[] callbacks)Creates proxy instance for given argument types, and assigns the callbacks.private voidsetThreadCallbacks(Callback[] callbacks)
-
-
-
Field Detail
-
generatedClass
public final java.lang.Class generatedClass
-
setThreadCallbacks
private final java.lang.reflect.Method setThreadCallbacks
-
primaryConstructorArgTypes
private final java.lang.Class[] primaryConstructorArgTypes
-
primaryConstructor
private final java.lang.reflect.Constructor primaryConstructor
-
-
Method Detail
-
newInstance
public java.lang.Object newInstance(java.lang.Class[] argumentTypes, java.lang.Object[] arguments, Callback[] callbacks)Creates proxy instance for given argument types, and assigns the callbacks. Ideally, for each proxy class, just one set of argument types should be used, otherwise it would have to spend time on constructor lookup. Technically, it is a re-implementation ofEnhancer.createUsingReflection(Class), with "cachesetThreadCallbacksandprimaryConstructor"- Parameters:
argumentTypes- constructor argument typesarguments- constructor argumentscallbacks- callbacks to set for the new instance- Returns:
- newly created proxy
- See Also:
Enhancer.createUsingReflection(Class)
-
setThreadCallbacks
private void setThreadCallbacks(Callback[] callbacks)
-
-