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.Object
The 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.Class
generatedClass
private java.lang.reflect.Constructor
primaryConstructor
private java.lang.Class[]
primaryConstructorArgTypes
private java.lang.reflect.Method
setThreadCallbacks
-
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.Object
newInstance(java.lang.Class[] argumentTypes, java.lang.Object[] arguments, Callback[] callbacks)
Creates proxy instance for given argument types, and assigns the callbacks.private void
setThreadCallbacks(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 "cachesetThreadCallbacks
andprimaryConstructor
"- 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)
-
-