Skip to content

wynn5a/generic-specification-builder

Repository files navigation

generic-specification-builder

Reimplement specification pattern in Java

Simple code and easy to use

Features

  • Support and, or, not combinators
  • Support eq, lt, le, gt, ge operations

Usage

Predicate<Product> productPredicate = Specification.and(Criteria.of(Product::name).eq("iPhone 15"),
        Criteria.of(Product::owner).eq(ALICE),
        Specification.or(Criteria.of(Product::quality).le(10),
            Criteria.of(Product::quantity).ge(20)),
        Specification.not(Criteria.of(Product::type).eq("Book")));
        
Stream.of(products).filter(productPredicate).count();

About

Reimplement specification pattern in Java

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages