Class Enhancer.EnhancerFactoryData

java.lang.Object
net.sf.cglib.proxy.Enhancer.EnhancerFactoryData
Enclosing class:
Enhancer

static class Enhancer.EnhancerFactoryData extends Object
The idea of the class is to cache relevant java.lang.reflect instances so proxy-class can be instantiated faster that when using ReflectUtils.newInstance(Class, Class[], Object[]) and Enhancer.setThreadCallbacks(Class, Callback[])
  • Field Details

    • generatedClass

      public final Class generatedClass
    • setThreadCallbacks

      private final Method setThreadCallbacks
    • primaryConstructorArgTypes

      private final Class[] primaryConstructorArgTypes
    • primaryConstructor

      private final Constructor primaryConstructor
  • Constructor Details

    • EnhancerFactoryData

      public EnhancerFactoryData(Class generatedClass, Class[] primaryConstructorArgTypes, boolean classOnly)
  • Method Details

    • newInstance

      public Object newInstance(Class[] argumentTypes, 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 of Enhancer.createUsingReflection(Class), with "cache setThreadCallbacks and primaryConstructor"
      Parameters:
      argumentTypes - constructor argument types
      arguments - constructor arguments
      callbacks - callbacks to set for the new instance
      Returns:
      newly created proxy
      See Also:
    • setThreadCallbacks

      private void setThreadCallbacks(Callback[] callbacks)