@@ -42,7 +42,10 @@ public <S> T where(BindableColumn<S> column, VisitableCondition<S> condition,
42
42
@ NotNull
43
43
public <S > T where (BindableColumn <S > column , VisitableCondition <S > condition ,
44
44
List <AndOrCriteriaGroup > subCriteria ) {
45
- initialCriterion = buildCriterion (column , condition , subCriteria );
45
+ initialCriterion = ColumnAndConditionCriterion .withColumn (column )
46
+ .withCondition (condition )
47
+ .withSubCriteria (subCriteria )
48
+ .build ();
46
49
return getThis ();
47
50
}
48
51
@@ -53,7 +56,8 @@ public T where(ExistsPredicate existsPredicate, AndOrCriteriaGroup...subCriteria
53
56
54
57
@ NotNull
55
58
public T where (ExistsPredicate existsPredicate , List <AndOrCriteriaGroup > subCriteria ) {
56
- initialCriterion = buildCriterion (existsPredicate , subCriteria );
59
+ initialCriterion = new ExistsCriterion .Builder ()
60
+ .withExistsPredicate (existsPredicate ).withSubCriteria (subCriteria ).build ();
57
61
return getThis ();
58
62
}
59
63
@@ -64,7 +68,18 @@ public T where(SqlCriterion initialCriterion, AndOrCriteriaGroup...subCriteria)
64
68
65
69
@ NotNull
66
70
public T where (SqlCriterion initialCriterion , List <AndOrCriteriaGroup > subCriteria ) {
67
- this .initialCriterion = buildCriterion (initialCriterion , subCriteria );
71
+ this .initialCriterion = new CriteriaGroup .Builder ()
72
+ .withInitialCriterion (initialCriterion )
73
+ .withSubCriteria (subCriteria )
74
+ .build ();
75
+ return getThis ();
76
+ }
77
+
78
+ @ NotNull
79
+ public T where (List <AndOrCriteriaGroup > criteria ) {
80
+ initialCriterion = new CriteriaGroup .Builder ()
81
+ .withSubCriteria (criteria )
82
+ .build ();
68
83
return getThis ();
69
84
}
70
85
@@ -83,7 +98,7 @@ public <S> T and(BindableColumn<S> column, VisitableCondition<S> condition,
83
98
@ NotNull
84
99
public <S > T and (BindableColumn <S > column , VisitableCondition <S > condition ,
85
100
List <AndOrCriteriaGroup > subCriteria ) {
86
- addSubCriteria ("and" , buildCriterion (column , condition ), subCriteria );
101
+ addSubCriteria ("and" , buildCriterion (column , condition ), subCriteria ); //$NON-NLS-1$
87
102
return getThis ();
88
103
}
89
104
@@ -94,7 +109,7 @@ public T and(ExistsPredicate existsPredicate, AndOrCriteriaGroup...subCriteria)
94
109
95
110
@ NotNull
96
111
public T and (ExistsPredicate existsPredicate , List <AndOrCriteriaGroup > subCriteria ) {
97
- addSubCriteria ("and" , buildCriterion (existsPredicate ), subCriteria );
112
+ addSubCriteria ("and" , buildCriterion (existsPredicate ), subCriteria ); //$NON-NLS-1$
98
113
return getThis ();
99
114
}
100
115
@@ -105,7 +120,13 @@ public T and(SqlCriterion initialCriterion, AndOrCriteriaGroup...subCriteria) {
105
120
106
121
@ NotNull
107
122
public T and (SqlCriterion initialCriterion , List <AndOrCriteriaGroup > subCriteria ) {
108
- addSubCriteria ("and" , buildCriterion (initialCriterion ), subCriteria );
123
+ addSubCriteria ("and" , buildCriterion (initialCriterion ), subCriteria ); //$NON-NLS-1$
124
+ return getThis ();
125
+ }
126
+
127
+ @ NotNull
128
+ public T and (List <AndOrCriteriaGroup > criteria ) {
129
+ addSubCriteria ("and" , criteria ); //$NON-NLS-1$
109
130
return getThis ();
110
131
}
111
132
@@ -118,7 +139,7 @@ public <S> T or(BindableColumn<S> column, VisitableCondition<S> condition,
118
139
@ NotNull
119
140
public <S > T or (BindableColumn <S > column , VisitableCondition <S > condition ,
120
141
List <AndOrCriteriaGroup > subCriteria ) {
121
- addSubCriteria ("or" , buildCriterion (column , condition ), subCriteria );
142
+ addSubCriteria ("or" , buildCriterion (column , condition ), subCriteria ); //$NON-NLS-1$
122
143
return getThis ();
123
144
}
124
145
@@ -129,7 +150,7 @@ public T or(ExistsPredicate existsPredicate, AndOrCriteriaGroup...subCriteria) {
129
150
130
151
@ NotNull
131
152
public T or (ExistsPredicate existsPredicate , List <AndOrCriteriaGroup > subCriteria ) {
132
- addSubCriteria ("or" , buildCriterion (existsPredicate ), subCriteria );
153
+ addSubCriteria ("or" , buildCriterion (existsPredicate ), subCriteria ); //$NON-NLS-1$
133
154
return getThis ();
134
155
}
135
156
@@ -140,7 +161,13 @@ public T or(SqlCriterion initialCriterion, AndOrCriteriaGroup...subCriteria) {
140
161
141
162
@ NotNull
142
163
public T or (SqlCriterion initialCriterion , List <AndOrCriteriaGroup > subCriteria ) {
143
- addSubCriteria ("or" , buildCriterion (initialCriterion ), subCriteria );
164
+ addSubCriteria ("or" , buildCriterion (initialCriterion ), subCriteria ); //$NON-NLS-1$
165
+ return getThis ();
166
+ }
167
+
168
+ @ NotNull
169
+ public T or (List <AndOrCriteriaGroup > criteria ) {
170
+ addSubCriteria ("or" , criteria ); //$NON-NLS-1$
144
171
return getThis ();
145
172
}
146
173
@@ -152,31 +179,14 @@ private <R> SqlCriterion buildCriterion(BindableColumn<R> column, VisitableCondi
152
179
return ColumnAndConditionCriterion .withColumn (column ).withCondition (condition ).build ();
153
180
}
154
181
155
- private <R > SqlCriterion buildCriterion (BindableColumn <R > column , VisitableCondition <R > condition ,
156
- List <AndOrCriteriaGroup > subCriteria ) {
157
- return ColumnAndConditionCriterion .withColumn (column )
158
- .withCondition (condition )
159
- .withSubCriteria (subCriteria )
160
- .build ();
161
- }
162
-
163
182
private SqlCriterion buildCriterion (ExistsPredicate existsPredicate ) {
164
183
return new ExistsCriterion .Builder ().withExistsPredicate (existsPredicate ).build ();
165
184
}
166
185
167
- private SqlCriterion buildCriterion (ExistsPredicate existsPredicate ,
168
- List <AndOrCriteriaGroup > subCriteria ) {
169
- return new ExistsCriterion .Builder ().withExistsPredicate (existsPredicate ).withSubCriteria (subCriteria ).build ();
170
- }
171
-
172
186
private SqlCriterion buildCriterion (SqlCriterion initialCriterion ) {
173
187
return new CriteriaGroup .Builder ().withInitialCriterion (initialCriterion ).build ();
174
188
}
175
189
176
- private SqlCriterion buildCriterion (SqlCriterion initialCriterion , List <AndOrCriteriaGroup > subCriteria ) {
177
- return new CriteriaGroup .Builder ().withInitialCriterion (initialCriterion ).withSubCriteria (subCriteria ).build ();
178
- }
179
-
180
190
private void addSubCriteria (String connector , SqlCriterion initialCriterion ,
181
191
List <AndOrCriteriaGroup > subCriteria ) {
182
192
this .subCriteria .add (new AndOrCriteriaGroup .Builder ()
@@ -186,5 +196,12 @@ private void addSubCriteria(String connector, SqlCriterion initialCriterion,
186
196
.build ());
187
197
}
188
198
199
+ private void addSubCriteria (String connector , List <AndOrCriteriaGroup > criteria ) {
200
+ this .subCriteria .add (new AndOrCriteriaGroup .Builder ()
201
+ .withConnector (connector )
202
+ .withSubCriteria (criteria )
203
+ .build ());
204
+ }
205
+
189
206
protected abstract T getThis ();
190
207
}
0 commit comments