package jef.expressions; import lombok.AllArgsConstructor; import lombok.Getter; import java.util.List; import java.util.stream.Collectors; @Getter @AllArgsConstructor public class AndExpression implements Expression { private final List exprs; public AndExpression(Expression... exprs) { this.exprs = List.of(exprs); } @Override public Type getType() { return Type.AND; } @Override public String toString() { return exprs.stream().map(e -> { if (e instanceof OrExpression) { return "(" + e + ")"; } else { return e.toString(); } }).collect(Collectors.joining(" AND ")); } }