-
Notifications
You must be signed in to change notification settings - Fork 14
/
AbstractPredicate.java
36 lines (25 loc) · 1.11 KB
/
AbstractPredicate.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package cz.cvut.kbss.jopa.query.criteria;
import cz.cvut.kbss.jopa.model.query.criteria.Expression;
import cz.cvut.kbss.jopa.model.query.criteria.Predicate;
import cz.cvut.kbss.jopa.query.criteria.expressions.AbstractExpression;
import cz.cvut.kbss.jopa.sessions.CriteriaFactory;
import java.util.List;
abstract public class AbstractPredicate extends AbstractExpression<Boolean> implements Predicate {
protected BooleanOperator booleanOperator;
public AbstractPredicate(BooleanOperator booleanOperator, CriteriaFactory factory) {
super(Boolean.class, factory);
this.booleanOperator = booleanOperator;
}
@Override
abstract public List<Expression<Boolean>> getExpressions();
@Override
public BooleanOperator getOperator() {
return this.booleanOperator;
}
@Override
abstract public void setExpressionToQuery(StringBuilder query, CriteriaParameterFiller parameterFiller);
protected void negateOperator(){
if (booleanOperator.equals(BooleanOperator.AND)) booleanOperator = BooleanOperator.OR;
else booleanOperator = BooleanOperator.AND;
}
}