Package org.jboss.weld.bean.proxy
Class DecoratorProxyFactory<T>
java.lang.Object
org.jboss.weld.bean.proxy.ProxyFactory<T>
org.jboss.weld.bean.proxy.DecoratorProxyFactory<T>
This special proxy factory is mostly used for abstract decorators. When a
delegate field is injected, the abstract methods directly invoke the
corresponding method on the delegate. All other cases forward the calls to
the
BeanInstance for further processing.- Author:
- David Allen, Stuart Douglas
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class -
Field Summary
FieldsFields inherited from class org.jboss.weld.bean.proxy.ProxyFactory
CONSTRUCTED_FLAG_NAME, DEFAULT_METHOD_RESOLVER, DEFAULT_PROXY_PACKAGE, INIT_METHOD_NAME, INVOKE_METHOD_NAME, LBEAN_IDENTIFIER, LJAVA_LANG_BYTE, LJAVA_LANG_CLASS, LJAVA_LANG_OBJECT, LJAVA_LANG_REFLECT_METHOD, LJAVA_LANG_STRING, LJAVA_LANG_THREAD_LOCAL, METHOD_HANDLER_FIELD_NAME, WELD_PROXY_PREFIX -
Constructor Summary
ConstructorsConstructorDescriptionDecoratorProxyFactory(String contextId, Class<T> proxyType, WeldInjectionPointAttributes<?, ?> delegateInjectionPoint, jakarta.enterprise.inject.spi.Bean<?> bean) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAdditionalInterfaces(Set<Class<?>> interfaces) Sub classes may override to specify additional interfaces the proxy should implementprotected voidaddMethodsFromClass(org.jboss.classfilewriter.ClassFile proxyClassType, org.jboss.classfilewriter.ClassMethod staticConstructor) protected StringReturns a suffix to append to the name of the proxy class.protected booleanMethods inherited from class org.jboss.weld.bean.proxy.ProxyFactory
addConstructedGuardToMethodBody, addConstructedGuardToMethodBody, addConstructors, addFields, addInterface, addInterfacesFromTypeClosure, addMethods, addSerializationSupport, addSpecialMethods, create, createForwardingMethodBody, createInterceptorBody, createSpecialMethodBody, generateEqualsMethod, generateGetMethodHandlerBody, generateHashCodeMethod, generateSetMethodHandlerBody, getAdditionalInterfaces, getBaseProxyName, getBean, getBeanType, getContextId, getMethodHandlerField, getMethodHandlerType, getProxiedBeanType, getProxyClass, getProxySuperclass, instantiateProxy, invokeMethodHandler, isMethodAccepted, setBeanInstance, toClass
-
Field Details
-
PROXY_SUFFIX
- See Also:
-
-
Constructor Details
-
DecoratorProxyFactory
public DecoratorProxyFactory(String contextId, Class<T> proxyType, WeldInjectionPointAttributes<?, ?> delegateInjectionPoint, jakarta.enterprise.inject.spi.Bean<?> bean)
-
-
Method Details
-
addAdditionalInterfaces
Description copied from class:ProxyFactorySub classes may override to specify additional interfaces the proxy should implement- Overrides:
addAdditionalInterfacesin classProxyFactory<T>
-
addMethodsFromClass
protected void addMethodsFromClass(org.jboss.classfilewriter.ClassFile proxyClassType, org.jboss.classfilewriter.ClassMethod staticConstructor) - Overrides:
addMethodsFromClassin classProxyFactory<T>
-
getProxyNameSuffix
Description copied from class:ProxyFactoryReturns a suffix to append to the name of the proxy class. The name already consists of <class-name>_$$_Weld, to which the suffix is added. This allows the creation of different types of proxies for the same class.- Overrides:
getProxyNameSuffixin classProxyFactory<T>- Returns:
- a name suffix
-
isUsingProxyInstantiator
protected boolean isUsingProxyInstantiator()- Overrides:
isUsingProxyInstantiatorin classProxyFactory<T>- Returns:
trueifProxyInstantiatoris used to instantiate proxy instances
-