1 package org.ddd4j.infrastructure.specification; 2 3 public interface Specification<T> { 4 boolean isSatisfiedBy(T object); 5 6 Specification<T> and(Specification<T> other); 7 8 Specification<T> or(Specification<T> other); 9 10 Specification<T> not(); 11 }