Interface MergedAnnotationSelector<A extends Annotation>
- Type Parameters:
A
- the annotation type
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface MergedAnnotationSelector<A extends Annotation>
Strategy interface used to select between twoMergedAnnotation
instances.- Since:
- 5.2
- Author:
- Phillip Webb
- See Also:
MergedAnnotationSelectors
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
isBestCandidate(MergedAnnotation<A> annotation)
Determine if the existing annotation is known to be the best candidate and any subsequent selections may be skipped.MergedAnnotation<A>
select(MergedAnnotation<A> existing, MergedAnnotation<A> candidate)
Select the annotation that should be used.
Method Detail
isBestCandidate
default boolean isBestCandidate(MergedAnnotation<A> annotation)
Determine if the existing annotation is known to be the best candidate and any subsequent selections may be skipped.- Parameters:
annotation
- the annotation to check- Returns:
true
if the annotation is known to be the best candidate
select
MergedAnnotation<A> select(MergedAnnotation<A> existing, MergedAnnotation<A> candidate)
Select the annotation that should be used.- Parameters:
existing
- an existing annotation returned from an earlier resultcandidate
- a candidate annotation that may be better suited- Returns:
- the most appropriate annotation from the
existing
orcandidate