Package org.glassfish.jersey.inject.hk2
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 java.lang.Object implements org.glassfish.hk2.api.ClassAnalyzer
Implementation of theClassAnalyzer
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
-
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)
-
-
-
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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.glassfish.hk2.api.ClassAnalyzer
- Throws:
org.glassfish.hk2.api.MultiException
-
-