public CompositeSpecification <T> Or(CompositeSpecification <T> specification) { return(new OrSpecification <T>(this, specification)); }
public CompositeSpecification <T> And(CompositeSpecification <T> specification) { return(new AndSpecification <T>(this, specification)); }
public OrSpecification(CompositeSpecification <T> firstSpecification, CompositeSpecification <T> secondSpecification) { _firstSpecification = firstSpecification; _secondSpecification = secondSpecification; }
public NotSpecification(CompositeSpecification <T> specification) { _specification = specification; }
public AndSpecification(CompositeSpecification <T> firstSpecification, CompositeSpecification <T> secondSpecification) { _firstCandidate = firstSpecification; _secondSpecification = secondSpecification; }