Class JerseyClassAnalyzer

  • All Implemented Interfaces:
    org.glassfish.hk2.api.ClassAnalyzer

    @Singleton
    @Named("JerseyClassAnalyzer")
    public final class JerseyClassAnalyzer
    extends java.lang.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.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  JerseyClassAnalyzer.Binder
      Binder for the JAX-RS compliant class analyzer implementation.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer  
      static java.lang.String NAME
      Name of the analyzer service.
      private LazyValue<java.util.Set<java.lang.Class>> resolverAnnotations  
      • Fields inherited from interface org.glassfish.hk2.api.ClassAnalyzer

        DEFAULT_IMPLEMENTATION_NAME
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private JerseyClassAnalyzer​(org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer, java.util.function.Supplier<java.util.List<InjectionResolver>> supplierResolvers)
      Injection constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> java.lang.reflect.Constructor<T> getConstructor​(java.lang.Class<T> clazz)  
      <T> java.util.Set<java.lang.reflect.Field> getFields​(java.lang.Class<T> clazz)  
      <T> java.util.Set<java.lang.reflect.Method> getInitializerMethods​(java.lang.Class<T> clazz)  
      <T> java.lang.reflect.Method getPostConstructMethod​(java.lang.Class<T> clazz)  
      <T> java.lang.reflect.Method getPreDestroyMethod​(java.lang.Class<T> clazz)  
      private boolean isCompatible​(java.lang.reflect.Constructor<?> constructor)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NAME

        public static final java.lang.String NAME
        Name of the analyzer service.
        See Also:
        Constant Field Values
      • defaultAnalyzer

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

        private final LazyValue<java.util.Set<java.lang.Class>> resolverAnnotations
    • Constructor Detail

      • JerseyClassAnalyzer

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

      • getConstructor

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

        private boolean isCompatible​(java.lang.reflect.Constructor<?> constructor)
      • getInitializerMethods

        public <T> java.util.Set<java.lang.reflect.Method> getInitializerMethods​(java.lang.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> java.util.Set<java.lang.reflect.Field> getFields​(java.lang.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> java.lang.reflect.Method getPostConstructMethod​(java.lang.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> java.lang.reflect.Method getPreDestroyMethod​(java.lang.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