@Contract public interface ClassAnalyzer
HK2 will provided a default implementation of this service (with the name default). However, individual descriptors may choose a different class analyzer should they so choose. All user supplied implementations of this service must have a name. Implementations of this service must not be ClassAnalyzers for themselves.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DEFAULT_IMPLEMENTATION_NAME |
| Modifier and Type | Method and Description |
|---|---|
<T> java.lang.reflect.Constructor<T> |
getConstructor(java.lang.Class<T> clazz)
Will return the constructor that it to be used when constructing this
service
|
<T> java.util.Set<java.lang.reflect.Field> |
getFields(java.lang.Class<T> clazz)
Will return the set of initializer fields to be used when initializing
this service
|
<T> java.util.Set<java.lang.reflect.Method> |
getInitializerMethods(java.lang.Class<T> clazz)
Will return the set of initializer method to be used when initializing
this service
|
<T> java.lang.reflect.Method |
getPostConstructMethod(java.lang.Class<T> clazz)
Will return the postConstruct method of the class
|
<T> java.lang.reflect.Method |
getPreDestroyMethod(java.lang.Class<T> clazz)
Will return the preDestroy method of the class
|
static final java.lang.String DEFAULT_IMPLEMENTATION_NAME
<T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz)
throws MultiException,
java.lang.NoSuchMethodException
The default implementation will use the zero-arg constructor if no single constructor with Inject is found
clazz - the non-null class to analyzeMultiException - on an error when analyzing the classjava.lang.NoSuchMethodException - if there was no available constructor<T> java.util.Set<java.lang.reflect.Method> getInitializerMethods(java.lang.Class<T> clazz)
throws MultiException
The default implementation will return all methods marked with Inject
clazz - the non-null class to analyzeMultiException - on an error when analyzing the class<T> java.util.Set<java.lang.reflect.Field> getFields(java.lang.Class<T> clazz)
throws MultiException
The default implementation will return all fields marked with Inject
clazz - the non-null class to analyzeMultiException - on an error when analyzing the class<T> java.lang.reflect.Method getPostConstructMethod(java.lang.Class<T> clazz)
throws MultiException
The default implementation will return the PostConstruct.postConstruct()
method or the method annotated with PostConstruct
clazz - the non-null class to analyzeMultiException - on an error when analyzing the class<T> java.lang.reflect.Method getPreDestroyMethod(java.lang.Class<T> clazz)
throws MultiException
The default implementation will return the PreDestroy.preDestroy()
method or the method annotated with PreDestroy
clazz - the non-null class to analyzeMultiException - on an error when analyzing the classCopyright © 2013 Oracle Corporation. All Rights Reserved.