-
Notifications
You must be signed in to change notification settings - Fork 28
/
ConditionBuilder.java
39 lines (30 loc) · 1.45 KB
/
ConditionBuilder.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
37
38
39
package foundation.stack.datamill.db;
import foundation.stack.datamill.reflection.Member;
import rx.functions.Func1;
import java.util.Collection;
/**
* @author Ravi Chodavarapu (rchodava@gmail.com)
*/
public interface ConditionBuilder {
<T> ConjunctionBuilder eq(String column, T value);
<T> ConjunctionBuilder eq(String table, String column, T value);
<T> ConjunctionBuilder eq(Member member, T value);
<T> ConjunctionBuilder lt(String column, T value);
<T> ConjunctionBuilder lt(String table, String column, T value);
<T> ConjunctionBuilder lt(Member member, T value);
<T> ConjunctionBuilder gt(String column, T value);
<T> ConjunctionBuilder gt(String table, String column, T value);
<T> ConjunctionBuilder gt(Member member, T value);
<T> ConjunctionBuilder is(String column, T value);
<T> ConjunctionBuilder is(String table, String column, T value);
<T> ConjunctionBuilder is(Member member, T value);
<T> ConjunctionBuilder in(String column, Collection<T> value);
<T> ConjunctionBuilder in(String table, String column, Collection<T> value);
<T> ConjunctionBuilder in(Member member, Collection<T> value);
TerminalCondition and(
Func1<ConditionBuilder, TerminalCondition> left,
Func1<ConditionBuilder, TerminalCondition> right);
TerminalCondition or(
Func1<ConditionBuilder, TerminalCondition> left,
Func1<ConditionBuilder, TerminalCondition> right);
}