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 two MergedAnnotation instances.
Since:
5.2
Author:
Phillip Webb
See Also:
  • Method Details

    • 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 result
      candidate - a candidate annotation that may be better suited
      Returns:
      the most appropriate annotation from the existing or candidate