|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.context.annotation.AdviceModeImportSelector<A>
A
- Annotation containing AdviceMode
attributepublic abstract class AdviceModeImportSelector<A extends Annotation>
Convenient base class for ImportSelector
implementations that select imports
based on an AdviceMode
value from an annotation (such as the @Enable*
annotations).
Field Summary | |
---|---|
static String |
DEFAULT_ADVICE_MODE_ATTRIBUTE_NAME
|
Constructor Summary | |
---|---|
AdviceModeImportSelector()
|
Method Summary | |
---|---|
protected String |
getAdviceModeAttributeName()
The name of the AdviceMode attribute for the annotation specified by the
generic type A . |
protected abstract String[] |
selectImports(AdviceMode adviceMode)
Determine which classes should be imported based on the given AdviceMode . |
String[] |
selectImports(AnnotationMetadata importingClassMetadata)
Select and return the names of which class(es) should be imported based on the AnnotationMetadata of the importing @Configuration class. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String DEFAULT_ADVICE_MODE_ATTRIBUTE_NAME
Constructor Detail |
---|
public AdviceModeImportSelector()
Method Detail |
---|
protected String getAdviceModeAttributeName()
AdviceMode
attribute for the annotation specified by the
generic type A
. The default is "mode",
but subclasses may override in order to customize.
public final String[] selectImports(AnnotationMetadata importingClassMetadata)
AnnotationMetadata
of the importing @Configuration
class.
This implementation resolves the type of annotation from generic metadata and
validates that (a) the annotation is in fact present on the importing
@Configuration
class and (b) that the given annotation has an
advice mode attribute of type
AdviceMode
.
The selectImports(AdviceMode)
method is then invoked, allowing the
concrete implementation to choose imports in a safe and convenient fashion.
selectImports
in interface ImportSelector
IllegalArgumentException
- if expected annotation A
is not present
on the importing @Configuration
class or if selectImports(AdviceMode)
returns null
protected abstract String[] selectImports(AdviceMode adviceMode)
AdviceMode
.
Returning null
from this method indicates that the AdviceMode
could
not be handled or was unknown and that an IllegalArgumentException
should
be thrown.
adviceMode
- the value of the advice mode attribute for the annotation specified via generics.
null
if
the given AdviceMode
is unknown.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |