@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 String |
DEFAULT_IMPLEMENTATION_NAME |
Modifier and Type | Method and Description |
---|---|
<T> Constructor<T> |
getConstructor(Class<T> clazz)
Will return the constructor that it to be used when constructing this
service
|
<T> Set<Field> |
getFields(Class<T> clazz)
Will return the set of initializer fields to be used when initializing
this service
|
<T> Set<Method> |
getInitializerMethods(Class<T> clazz)
Will return the set of initializer method to be used when initializing
this service
|
<T> Method |
getPostConstructMethod(Class<T> clazz)
Will return the postConstruct method of the class
|
<T> Method |
getPreDestroyMethod(Class<T> clazz)
Will return the preDestroy method of the class
|
static final String DEFAULT_IMPLEMENTATION_NAME
<T> Constructor<T> getConstructor(Class<T> clazz) throws MultiException, 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 classNoSuchMethodException
- if there was no available constructor<T> Set<Method> getInitializerMethods(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> Set<Field> getFields(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> Method getPostConstructMethod(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> Method getPreDestroyMethod(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.