Class FastProcessAnnotatedTypeResolver

  • All Implemented Interfaces:
    org.jboss.weld.bootstrap.api.BootstrapService, org.jboss.weld.bootstrap.api.Service

    public class FastProcessAnnotatedTypeResolver
    extends org.jboss.weld.bootstrap.api.helpers.AbstractBootstrapService
    ProcessAnnotatedType observer method resolver. It uses ClassFileServices for resolution and thus entirely avoids loading the classes which speeds up especially large deployments. Although this resolver covers most of the possible PAT observer method types, there are several cases when ClassFileInfo used by this resolver is not sufficient to perform observer method resolution correctly. If such observer method is present in the deployment, the constructor of this class throws UnsupportedObserverMethodException. This exception is expected to be caught by the deployer and observer method resolution using the default TypeSafeObserverResolver is performed instead.
    Author:
    Jozef Hartinger
    • Constructor Detail

      • FastProcessAnnotatedTypeResolver

        public FastProcessAnnotatedTypeResolver​(Iterable<jakarta.enterprise.inject.spi.ObserverMethod<?>> observers)
                                         throws org.jboss.weld.bootstrap.UnsupportedObserverMethodException
        Throws:
        org.jboss.weld.bootstrap.UnsupportedObserverMethodException
    • Method Detail

      • resolveProcessAnnotatedTypeObservers

        public Set<ContainerLifecycleEventObserverMethod<?>> resolveProcessAnnotatedTypeObservers​(org.jboss.weld.resources.spi.ClassFileServices classFileServices,
                                                                                                  String className)
        Resolves a set of ProcessAnnotatedType observer methods for the specified class. If no observer methods are resolved, an empty set is returned.
        Parameters:
        className - the specified class name
        Returns:
        the set of resolved ProcessAnnotatedType observer methods
      • cleanupAfterBoot

        public void cleanupAfterBoot()