org.springframework.data.repository.core.support

## Interface MethodLookup

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 MethodLookup

Strategy interface providing `predicates` to resolve a method called on a composite to its implementation method.

`Predicates` are ordered by filtering priority and applied individually. If a predicate does not yield any positive match, the next predicate is applied.

Since:
  2.0
Author:
  Mark Paluch
See Also:
  `RepositoryComposition`

### Nested Class Summary

Nested Classes
`static class` `MethodLookup.InvokedMethod` Value object representing an invoked `Method`.
`static interface` `MethodLookup.MethodPredicate` A method predicate to be applied on the `MethodLookup.InvokedMethod` and `method candidate`.

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default MethodLookup` `and(MethodLookup other)` Returns a composed `MethodLookup` that represents a concatenation of this predicate and another.
`List<MethodLookup.MethodPredicate>` `getLookups()` Return an ordered `List` of `MethodLookup.MethodPredicate`.

### Method Detail

#### getLookups

    List<MethodLookup.MethodPredicate> getLookups()

Return an ordered `List` of `MethodLookup.MethodPredicate`. Each predicate is applied individually. If any `MethodLookup.MethodPredicate` matches, the tested candidate `Method` passes the filter.

Returns:
  `List` of `MethodLookup.MethodPredicate`.

#### and

    default MethodLookup and(MethodLookup other)

Returns a composed `MethodLookup` that represents a concatenation of this predicate and another. When evaluating the composed method lookup, if this lookup evaluates `true`, then the `other` method lookup is not evaluated.

Parameters:
  `other` - must not be null.
Returns:
  the composed `MethodLookup`.