Class RootBeanDeploymentArchive

  • All Implemented Interfaces:
    org.jboss.weld.bootstrap.spi.BeanDeploymentArchive

    public class RootBeanDeploymentArchive
    extends BeanDeploymentArchiveImpl
    A root BDA represents the root of a module where a module is a war, ejb, rar, ear lib A root BDA of each module follows accessibility of the module (can only see BDAs, including root ones, in accessible modules). A root BDA contains no bean classes. All bdas of the module are visible to the root bda. And the root bda is visible to all bdas of the module. (Alternatively creating one root BDA per deployment has the disadvantage that you need to be careful about accessibility rules. If you allow every BDA to see the root BDA - return it from BDA.getBeanDeploymentArchives() - and allow the root BDA to see all other BDAs - return all other BDAs from root BDA.getDeployemtArchive(). Due to transitivity you make any BDA accessible to any other BDA and break the accessibility rules. One way is to only allow the root BDA to see all the other BDAs (but not vice versa). This may work for the InjectionTarget case but may be a limitation elsewhere.)
    Author:
    JJ Snyder