@Singleton
@Named(value="JerseyClassAnalyzer")
public final class JerseyClassAnalyzer
extends java.lang.Object
implements org.glassfish.hk2.api.ClassAnalyzer
ClassAnalyzer
that supports selection
of the constructor with largest number of parameters as defined in
and required by JAX-RS specification.Modifier and Type | Class and Description |
---|---|
static class |
JerseyClassAnalyzer.Binder
Binder for the JAX-RS compliant class analyzer implementation.
|
Modifier and Type | Field and 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 |
Modifier | Constructor and Description |
---|---|
private |
JerseyClassAnalyzer(org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer,
java.util.function.Supplier<java.util.List<InjectionResolver>> supplierResolvers)
Injection constructor.
|
Modifier and Type | Method and 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) |
public static final java.lang.String NAME
private final org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer
private final LazyValue<java.util.Set<java.lang.Class>> resolverAnnotations
private JerseyClassAnalyzer(org.glassfish.hk2.api.ClassAnalyzer defaultAnalyzer, java.util.function.Supplier<java.util.List<InjectionResolver>> supplierResolvers)
defaultAnalyzer
- default HK2 class analyzer.supplierResolvers
- configured injection resolvers.public <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz) throws org.glassfish.hk2.api.MultiException, java.lang.NoSuchMethodException
getConstructor
in interface org.glassfish.hk2.api.ClassAnalyzer
org.glassfish.hk2.api.MultiException
java.lang.NoSuchMethodException
private boolean isCompatible(java.lang.reflect.Constructor<?> constructor)
public <T> java.util.Set<java.lang.reflect.Method> getInitializerMethods(java.lang.Class<T> clazz) throws org.glassfish.hk2.api.MultiException
getInitializerMethods
in interface org.glassfish.hk2.api.ClassAnalyzer
org.glassfish.hk2.api.MultiException
public <T> java.util.Set<java.lang.reflect.Field> getFields(java.lang.Class<T> clazz) throws org.glassfish.hk2.api.MultiException
getFields
in interface org.glassfish.hk2.api.ClassAnalyzer
org.glassfish.hk2.api.MultiException
public <T> java.lang.reflect.Method getPostConstructMethod(java.lang.Class<T> clazz) throws org.glassfish.hk2.api.MultiException
getPostConstructMethod
in interface org.glassfish.hk2.api.ClassAnalyzer
org.glassfish.hk2.api.MultiException
public <T> java.lang.reflect.Method getPreDestroyMethod(java.lang.Class<T> clazz) throws org.glassfish.hk2.api.MultiException
getPreDestroyMethod
in interface org.glassfish.hk2.api.ClassAnalyzer
org.glassfish.hk2.api.MultiException