HK2 will provide 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.
The method ServiceLocator#setDefaultClassAnalyzerName(String) can be used
to set the global ClassAnalyzer name that will be the name of the ClassAnalyzer used
when the method Descriptor#getClassAnalysisName() returns null
Implementations of ClassAnalyzer will be instantiated as soon as
they are added to HK2 in order to avoid deadlocks and circular references.
Therefore it is recommended that implementations of ClassAnalyzer
make liberal use of jakarta. or IterableProvider
when injecting dependent services so that these services are not instantiated
when the ClassAnalyzer is created
| Modifier and Type | Field and Description |
|---|---|
| public static final String | DEFAULT_IMPLEMENTATION_NAME
The name of the default ClassAnalyzer service |
| Modifier and Type | Method and Description |
|---|---|
| public <T> Constructor | Returns: The non-null constructor to use for creating this servicethe non-null class to analyze clazz)Will return the constructor that it to be used when constructing this service The default implementation will use the zero-arg constructor if no single constructor with Inject is found. |
| public <T> Set | Returns: A non-null but possibly empty set of initialization fieldsthe non-null class to analyze clazz)Will return the set of initializer fields to be used when initializing this service
The default implementation will return all fields marked with Inject
or that have a parameter that is covered by an |
| public <T> Set | Returns: A non-null but possibly empty set of initialization methodsthe non-null class to analyze clazz)Will return the set of initializer method to be used when initializing this service
The default implementation will return all methods marked with Inject
or that have a parameter that is covered by an |
| public <T> Method | Returns: A possibly null method representing the postConstruct method to callthe non-null class to analyze clazz)Will return the postConstruct method of the class
The default implementation will return the |
| public <T> Method | Returns: A possibly null method representing the preDestroy method to callthe non-null class to analyze clazz)Will return the preDestroy method of the class
The default implementation will return the |
| DEFAULT_IMPLEMENTATION_NAME | back to summary |
|---|---|
| public static final String DEFAULT_IMPLEMENTATION_NAME The name of the default ClassAnalyzer service | |
| getConstructor | back to summary |
|---|---|
| public <T> Constructor Will return the constructor that it to be used when constructing this service
The default implementation will use the zero-arg constructor if no single
constructor with Inject is found. Also will return any constructor
that is covered by an
| |
| getFields | back to summary |
|---|---|
| public <T> Set Will return the set of initializer fields to be used when initializing this service
The default implementation will return all fields marked with Inject
or that have a parameter that is covered by an
| |
| getInitializerMethods | back to summary |
|---|---|
| public <T> Set Will return the set of initializer method to be used when initializing this service
The default implementation will return all methods marked with Inject
or that have a parameter that is covered by an
| |
| getPostConstructMethod | back to summary |
|---|---|
| public <T> Method getPostConstructMethod(Class<T> clazz) throws MultiException Will return the postConstruct method of the class
The default implementation will return the
| |
| getPreDestroyMethod | back to summary |
|---|---|
| public <T> Method getPreDestroyMethod(Class<T> clazz) throws MultiException Will return the preDestroy method of the class
The default implementation will return the
| |