Interface Specification<T>

All Superinterfaces:
Serializable
All Known Implementing Classes:
KeysetScrollSpecification
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 Specification<T> extends Serializable
Specification in the sense of Domain Driven Design.

Specifications can be composed into higher order functions from other specifications using and(Specification), or(Specification) or factory methods such as allOf(Iterable). Composition considers whether one or more specifications contribute to the overall predicate by returning a Predicate or null. Specifications returning null are considered to not contribute to the overall predicate and their result is not considered in the final predicate.

Author:
Oliver Gierke, Thomas Darimont, Krzysztof Rzymkowski, Sebastian Staudt, Mark Paluch, Jens Schauder, Daniel Shuy, Sergey Rukin