public class SubclassProxyFactory extends AbstractProxyFactory
FIELD_BEAN_PASSIVATION_ID, MAX_CLASSLOAD_TRIES, MODIFIER_VARARGS, webBeansContext
Constructor and Description |
---|
SubclassProxyFactory(WebBeansContext webBeansContext) |
Modifier and Type | Method and Description |
---|---|
protected void |
createConstructor(org.objectweb.asm.ClassWriter cw,
String proxyClassFileName,
Class<?> classToProxy,
String classFileName)
Each of our interceptor/decorator proxies has exactly 1 constructor
which invokes the super ct + sets the delegation field.
|
<T> Class<T> |
createImplementedSubclass(ClassLoader classLoader,
Class<T> classToProxy) |
protected void |
createInstanceVariables(org.objectweb.asm.ClassWriter cw,
Class<?> classToProxy,
String classFileName)
generate the bytecode for creating the instance variables of the class
|
protected void |
createSerialisation(org.objectweb.asm.ClassWriter cw,
String proxyClassFileName,
Class<?> classToProxy,
String classFileName)
generate the bytecode for serialization.
|
<T> Class<T> |
createSubClass(ClassLoader classLoader,
Class<T> classToProxy) |
protected void |
delegateInterceptedMethods(ClassLoader classLoader,
org.objectweb.asm.ClassWriter cw,
String proxyClassFileName,
Class<?> classToProxy,
Method[] interceptedMethods)
generate the bytecode for invoking all intercepted methods
|
protected void |
delegateNonInterceptedMethods(ClassLoader classLoader,
org.objectweb.asm.ClassWriter cw,
String proxyClassFileName,
Class<?> classToProxy,
Method[] noninterceptedMethods)
generate the bytecode for invoking all non-intercepted methods
|
protected Class |
getMarkerInterface() |
createArrayDefinition, createProxyClass, fixPreservedPackages, generateReturn, getCastType, getPrimitiveMethod, getProxyClassLoader, getReturnInsn, getUnusedProxyClassName, getVarInsn, getWrapperType, pushIntOntoStack, pushMethodParameterArray, unproxyableMethod, unsafeNewInstance
public SubclassProxyFactory(WebBeansContext webBeansContext)
protected Class getMarkerInterface()
getMarkerInterface
in class AbstractProxyFactory
public <T> Class<T> createImplementedSubclass(ClassLoader classLoader, Class<T> classToProxy)
public <T> Class<T> createSubClass(ClassLoader classLoader, Class<T> classToProxy) throws ProxyGenerationException
T
- classLoader
- to use for creating the class inclassToProxy
- the class for which a subclass will get generatedProxyGenerationException
protected void createConstructor(org.objectweb.asm.ClassWriter cw, String proxyClassFileName, Class<?> classToProxy, String classFileName) throws ProxyGenerationException
AbstractProxyFactory
createConstructor
in class AbstractProxyFactory
ProxyGenerationException
protected void createInstanceVariables(org.objectweb.asm.ClassWriter cw, Class<?> classToProxy, String classFileName)
AbstractProxyFactory
createInstanceVariables
in class AbstractProxyFactory
protected void delegateInterceptedMethods(ClassLoader classLoader, org.objectweb.asm.ClassWriter cw, String proxyClassFileName, Class<?> classToProxy, Method[] interceptedMethods) throws ProxyGenerationException
AbstractProxyFactory
delegateInterceptedMethods
in class AbstractProxyFactory
ProxyGenerationException
protected void createSerialisation(org.objectweb.asm.ClassWriter cw, String proxyClassFileName, Class<?> classToProxy, String classFileName)
AbstractProxyFactory
createSerialisation
in class AbstractProxyFactory
protected void delegateNonInterceptedMethods(ClassLoader classLoader, org.objectweb.asm.ClassWriter cw, String proxyClassFileName, Class<?> classToProxy, Method[] noninterceptedMethods) throws ProxyGenerationException
AbstractProxyFactory
delegateNonInterceptedMethods
in class AbstractProxyFactory
ProxyGenerationException
Copyright © 2008–2016 The Apache Software Foundation. All rights reserved.