Class JerseyClassAnalyzer

java.lang.Object
org.glassfish.jersey.inject.hk2.JerseyClassAnalyzer
All Implemented Interfaces:
org.glassfish.hk2.api.ClassAnalyzer

@Singleton @Named("JerseyClassAnalyzer") public final class JerseyClassAnalyzer extends Object implements org.glassfish.hk2.api.ClassAnalyzer
Implementation of the ClassAnalyzer that supports selection of the constructor with largest number of parameters as defined in and required by JAX-RS specification.
  • Field Details

    • NAME

      public static final String NAME
      Name of the analyzer service.
      See Also:
    • defaultAnalyzer

      private final org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer
    • resolverAnnotations

      private final LazyValue<Set<Class>> resolverAnnotations
  • Constructor Details

    • JerseyClassAnalyzer

      private JerseyClassAnalyzer(org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer, Supplier<List<InjectionResolver>> supplierResolvers)
      Injection constructor.
      Parameters:
      defaultAnalyzer - default HK2 class analyzer.
      supplierResolvers - configured injection resolvers.
  • Method Details

    • getConstructor

      public <T> Constructor<T> getConstructor(Class<T> clazz) throws org.glassfish.hk2.api.MultiException, NoSuchMethodException
      Specified by:
      getConstructor in interface org.glassfish.hk2.api.ClassAnalyzer
      Throws:
      org.glassfish.hk2.api.MultiException
      NoSuchMethodException
    • isCompatible

      private boolean isCompatible(Constructor<?> constructor)
    • getInitializerMethods

      public <T> Set<Method> getInitializerMethods(Class<T> clazz) throws org.glassfish.hk2.api.MultiException
      Specified by:
      getInitializerMethods in interface org.glassfish.hk2.api.ClassAnalyzer
      Throws:
      org.glassfish.hk2.api.MultiException
    • getFields

      public <T> Set<Field> getFields(Class<T> clazz) throws org.glassfish.hk2.api.MultiException
      Specified by:
      getFields in interface org.glassfish.hk2.api.ClassAnalyzer
      Throws:
      org.glassfish.hk2.api.MultiException
    • getPostConstructMethod

      public <T> Method getPostConstructMethod(Class<T> clazz) throws org.glassfish.hk2.api.MultiException
      Specified by:
      getPostConstructMethod in interface org.glassfish.hk2.api.ClassAnalyzer
      Throws:
      org.glassfish.hk2.api.MultiException
    • getPreDestroyMethod

      public <T> Method getPreDestroyMethod(Class<T> clazz) throws org.glassfish.hk2.api.MultiException
      Specified by:
      getPreDestroyMethod in interface org.glassfish.hk2.api.ClassAnalyzer
      Throws:
      org.glassfish.hk2.api.MultiException