Class DecoratorProxyFactory<T>

  • All Implemented Interfaces:
    PrivilegedAction<T>

    public class DecoratorProxyFactory<T>
    extends ProxyFactory<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
    • Constructor Detail

      • DecoratorProxyFactory

        public DecoratorProxyFactory​(String contextId,
                                     Class<T> proxyType,
                                     WeldInjectionPointAttributes<?,​?> delegateInjectionPoint,
                                     jakarta.enterprise.inject.spi.Bean<?> bean)
    • Method Detail

      • addAdditionalInterfaces

        protected void addAdditionalInterfaces​(Set<Class<?>> interfaces)
        Description copied from class: ProxyFactory
        Sub classes may override to specify additional interfaces the proxy should implement
        Overrides:
        addAdditionalInterfaces in class ProxyFactory<T>
      • addMethodsFromClass

        protected void addMethodsFromClass​(org.jboss.classfilewriter.ClassFile proxyClassType,
                                           org.jboss.classfilewriter.ClassMethod staticConstructor)
        Overrides:
        addMethodsFromClass in class ProxyFactory<T>
      • getProxyNameSuffix

        protected String getProxyNameSuffix()
        Description copied from class: ProxyFactory
        Returns a suffix to append to the name of the proxy class. The name already consists of _$$_Weld, to which the suffix is added. This allows the creation of different types of proxies for the same class.
        Overrides:
        getProxyNameSuffix in class ProxyFactory<T>
        Returns:
        a name suffix