|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
@Contract public interface ClassAnalyzer
When HK2 automatically analyzes a class to find the constructor, fields, initializer methods and postConstruct and preDestroy methods it uses this service to analyze the class. This analyzer is only used for descriptors that are not pre-reified and which are not provided by factories.
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.
| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_IMPLEMENTATION_NAME
|
| Method Summary | ||
|---|---|---|
|
getConstructor(java.lang.Class<T> clazz)
Will return the constructor that it to be used when constructing this service |
|
|
getFields(java.lang.Class<T> clazz)
Will return the set of initializer fields to be used when initializing this service |
|
|
getInitializerMethods(java.lang.Class<T> clazz)
Will return the set of initializer method to be used when initializing this service |
|
|
getPostConstructMethod(java.lang.Class<T> clazz)
Will return the postConstruct method of the class |
|
|
getPreDestroyMethod(java.lang.Class<T> clazz)
Will return the preDestroy method of the class |
|
| Field Detail |
|---|
static final java.lang.String DEFAULT_IMPLEMENTATION_NAME
| Method Detail |
|---|
<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 analyze
MultiException - on an error when analyzing the class
java.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 analyze
MultiException - 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 analyze
MultiException - 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 analyze
MultiException - 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 analyze
MultiException - on an error when analyzing the class
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||