Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-254

Custom Decorator Support

XMLWordPrintable

      Weld should support the addition of custom decorators.

      The mechanics of adding them is:

      • an Extension will register a Decorator implementation (say MyDecoratorBean) via AfterBeanDiscovery.addBean()
      • MyDecoratorBean.getBeanClass() will indicate what is the decorator class (to enable/disable via beans.xml)
      • getDecoratedTypes(), getDelegateType() and getDelegateQualifiers() will tell what beans can be decorated, as well as what delegate will be injected into the bean
      • it is the responsibility of the custom decorator (via create()) to inject all references correctly, including the delegate. To that extent, the container must handle BeanManager.getInjectableReference() correctly

      Note: at least for the initial implementation. we can make an assumption that create() for a Decorator bean is invoked only during the creation of a decorator chain.

              marius.bogoevici Marius Bogoevici (Inactive)
              marius.bogoevici Marius Bogoevici (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: