View Javadoc
1   /*
2    * Copyright 2012-2021 CodeLibs Project and the Others.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13   * either express or implied. See the License for the specific language
14   * governing permissions and limitations under the License.
15   */
16  package org.codelibs.fess.es.user.cbean.cq.bs;
17  
18  import java.time.LocalDateTime;
19  import java.util.ArrayList;
20  import java.util.Collection;
21  
22  import org.codelibs.fesen.index.query.BoolQueryBuilder;
23  import org.codelibs.fesen.index.query.CommonTermsQueryBuilder;
24  import org.codelibs.fesen.index.query.ExistsQueryBuilder;
25  import org.codelibs.fesen.index.query.IdsQueryBuilder;
26  import org.codelibs.fesen.index.query.MatchPhrasePrefixQueryBuilder;
27  import org.codelibs.fesen.index.query.MatchPhraseQueryBuilder;
28  import org.codelibs.fesen.index.query.MatchQueryBuilder;
29  import org.codelibs.fesen.index.query.PrefixQueryBuilder;
30  import org.codelibs.fesen.index.query.RangeQueryBuilder;
31  import org.codelibs.fesen.index.query.RegexpQueryBuilder;
32  import org.codelibs.fesen.index.query.SpanTermQueryBuilder;
33  import org.codelibs.fesen.index.query.TermQueryBuilder;
34  import org.codelibs.fesen.index.query.TermsQueryBuilder;
35  import org.codelibs.fesen.index.query.WildcardQueryBuilder;
36  import org.codelibs.fesen.index.query.functionscore.FunctionScoreQueryBuilder;
37  import org.codelibs.fesen.index.query.functionscore.FunctionScoreQueryBuilder.FilterFunctionBuilder;
38  import org.codelibs.fess.es.user.allcommon.EsAbstractConditionQuery;
39  import org.codelibs.fess.es.user.cbean.cq.GroupCQ;
40  import org.dbflute.cbean.ckey.ConditionKey;
41  
42  /**
43   * @author ESFlute (using FreeGen)
44   */
45  public abstract class BsGroupCQ extends EsAbstractConditionQuery {
46  
47      protected static final Class<?> suppressUnusedImportLocalDateTime = LocalDateTime.class;
48  
49      // ===================================================================================
50      //                                                                       Name Override
51      //                                                                       =============
52      @Override
53      public String asTableDbName() {
54          return "group";
55      }
56  
57      @Override
58      public String xgetAliasName() {
59          return "group";
60      }
61  
62      // ===================================================================================
63      //                                                                       Query Control
64      //                                                                       =============
65      public void functionScore(OperatorCall<GroupCQ> queryLambda, ScoreFunctionCall<ScoreFunctionCreator<GroupCQ>> functionsLambda,
66              final ConditionOptionCall<FunctionScoreQueryBuilder> opLambda) {
67          GroupCQ cq = new GroupCQ();
68          queryLambda.callback(cq);
69          final Collection<FilterFunctionBuilder> list = new ArrayList<>();
70          if (functionsLambda != null) {
71              functionsLambda.callback((cqLambda, scoreFunctionBuilder) -> {
72                  GroupCQ cf = new GroupCQ();
73                  cqLambda.callback(cf);
74                  list.add(new FilterFunctionBuilder(cf.getQuery(), scoreFunctionBuilder));
75              });
76          }
77          final FunctionScoreQueryBuilder builder = regFunctionScoreQ(cq.getQuery(), list);
78          if (opLambda != null) {
79              opLambda.callback(builder);
80          }
81      }
82  
83      public void filtered(FilteredCall<GroupCQ, GroupCQ> filteredLambda) {
84          filtered(filteredLambda, null);
85      }
86  
87      public void filtered(FilteredCall<GroupCQ, GroupCQ> filteredLambda, ConditionOptionCall<BoolQueryBuilder> opLambda) {
88          bool((must, should, mustNot, filter) -> {
89              filteredLambda.callback(must, filter);
90          }, opLambda);
91      }
92  
93      public void not(OperatorCall<GroupCQ> notLambda) {
94          not(notLambda, null);
95      }
96  
97      public void not(final OperatorCall<GroupCQ> notLambda, final ConditionOptionCall<BoolQueryBuilder> opLambda) {
98          bool((must, should, mustNot, filter) -> notLambda.callback(mustNot), opLambda);
99      }
100 
101     public void bool(BoolCall<GroupCQ> boolLambda) {
102         bool(boolLambda, null);
103     }
104 
105     public void bool(BoolCall<GroupCQ> boolLambda, ConditionOptionCall<BoolQueryBuilder> opLambda) {
106         GroupCQ mustQuery = new GroupCQ();
107         GroupCQ shouldQuery = new GroupCQ();
108         GroupCQ mustNotQuery = new GroupCQ();
109         GroupCQ filterQuery = new GroupCQ();
110         boolLambda.callback(mustQuery, shouldQuery, mustNotQuery, filterQuery);
111         if (mustQuery.hasQueries() || shouldQuery.hasQueries() || mustNotQuery.hasQueries() || filterQuery.hasQueries()) {
112             BoolQueryBuilder builder = regBoolCQ(mustQuery.getQueryBuilderList(), shouldQuery.getQueryBuilderList(),
113                     mustNotQuery.getQueryBuilderList(), filterQuery.getQueryBuilderList());
114             if (opLambda != null) {
115                 opLambda.callback(builder);
116             }
117         }
118     }
119 
120     // ===================================================================================
121     //                                                                           Query Set
122     //                                                                           =========
123     public void setId_Equal(String id) {
124         setId_Term(id, null);
125     }
126 
127     public void setId_Equal(String id, ConditionOptionCall<TermQueryBuilder> opLambda) {
128         setId_Term(id, opLambda);
129     }
130 
131     public void setId_Term(String id) {
132         setId_Term(id, null);
133     }
134 
135     public void setId_Term(String id, ConditionOptionCall<TermQueryBuilder> opLambda) {
136         TermQueryBuilder builder = regTermQ("_id", id);
137         if (opLambda != null) {
138             opLambda.callback(builder);
139         }
140     }
141 
142     public void setId_NotEqual(String id) {
143         setId_NotTerm(id, null);
144     }
145 
146     public void setId_NotTerm(String id) {
147         setId_NotTerm(id, null);
148     }
149 
150     public void setId_NotEqual(String id, ConditionOptionCall<BoolQueryBuilder> opLambda) {
151         setId_NotTerm(id, opLambda);
152     }
153 
154     public void setId_NotTerm(String id, ConditionOptionCall<BoolQueryBuilder> opLambda) {
155         not(not -> not.setId_Term(id), opLambda);
156     }
157 
158     public void setId_Terms(Collection<String> idList) {
159         setId_Terms(idList, null);
160     }
161 
162     public void setId_Terms(Collection<String> idList, ConditionOptionCall<IdsQueryBuilder> opLambda) {
163         IdsQueryBuilder builder = regIdsQ(idList);
164         if (opLambda != null) {
165             opLambda.callback(builder);
166         }
167     }
168 
169     public void setId_InScope(Collection<String> idList) {
170         setId_Terms(idList, null);
171     }
172 
173     public void setId_InScope(Collection<String> idList, ConditionOptionCall<IdsQueryBuilder> opLambda) {
174         setId_Terms(idList, opLambda);
175     }
176 
177     public BsGroupCQ addOrderBy_Id_Asc() {
178         regOBA("_id");
179         return this;
180     }
181 
182     public BsGroupCQ addOrderBy_Id_Desc() {
183         regOBD("_id");
184         return this;
185     }
186 
187     public void setGidNumber_Equal(Long gidNumber) {
188         setGidNumber_Term(gidNumber, null);
189     }
190 
191     public void setGidNumber_Equal(Long gidNumber, ConditionOptionCall<TermQueryBuilder> opLambda) {
192         setGidNumber_Term(gidNumber, opLambda);
193     }
194 
195     public void setGidNumber_Term(Long gidNumber) {
196         setGidNumber_Term(gidNumber, null);
197     }
198 
199     public void setGidNumber_Term(Long gidNumber, ConditionOptionCall<TermQueryBuilder> opLambda) {
200         TermQueryBuilder builder = regTermQ("gidNumber", gidNumber);
201         if (opLambda != null) {
202             opLambda.callback(builder);
203         }
204     }
205 
206     public void setGidNumber_NotEqual(Long gidNumber) {
207         setGidNumber_NotTerm(gidNumber, null);
208     }
209 
210     public void setGidNumber_NotTerm(Long gidNumber) {
211         setGidNumber_NotTerm(gidNumber, null);
212     }
213 
214     public void setGidNumber_NotEqual(Long gidNumber, ConditionOptionCall<BoolQueryBuilder> opLambda) {
215         setGidNumber_NotTerm(gidNumber, opLambda);
216     }
217 
218     public void setGidNumber_NotTerm(Long gidNumber, ConditionOptionCall<BoolQueryBuilder> opLambda) {
219         not(not -> not.setGidNumber_Term(gidNumber), opLambda);
220     }
221 
222     public void setGidNumber_Terms(Collection<Long> gidNumberList) {
223         setGidNumber_Terms(gidNumberList, null);
224     }
225 
226     public void setGidNumber_Terms(Collection<Long> gidNumberList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
227         TermsQueryBuilder builder = regTermsQ("gidNumber", gidNumberList);
228         if (opLambda != null) {
229             opLambda.callback(builder);
230         }
231     }
232 
233     public void setGidNumber_InScope(Collection<Long> gidNumberList) {
234         setGidNumber_Terms(gidNumberList, null);
235     }
236 
237     public void setGidNumber_InScope(Collection<Long> gidNumberList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
238         setGidNumber_Terms(gidNumberList, opLambda);
239     }
240 
241     public void setGidNumber_Match(Long gidNumber) {
242         setGidNumber_Match(gidNumber, null);
243     }
244 
245     public void setGidNumber_Match(Long gidNumber, ConditionOptionCall<MatchQueryBuilder> opLambda) {
246         MatchQueryBuilder builder = regMatchQ("gidNumber", gidNumber);
247         if (opLambda != null) {
248             opLambda.callback(builder);
249         }
250     }
251 
252     public void setGidNumber_MatchPhrase(Long gidNumber) {
253         setGidNumber_MatchPhrase(gidNumber, null);
254     }
255 
256     public void setGidNumber_MatchPhrase(Long gidNumber, ConditionOptionCall<MatchPhraseQueryBuilder> opLambda) {
257         MatchPhraseQueryBuilder builder = regMatchPhraseQ("gidNumber", gidNumber);
258         if (opLambda != null) {
259             opLambda.callback(builder);
260         }
261     }
262 
263     public void setGidNumber_MatchPhrasePrefix(Long gidNumber) {
264         setGidNumber_MatchPhrasePrefix(gidNumber, null);
265     }
266 
267     public void setGidNumber_MatchPhrasePrefix(Long gidNumber, ConditionOptionCall<MatchPhrasePrefixQueryBuilder> opLambda) {
268         MatchPhrasePrefixQueryBuilder builder = regMatchPhrasePrefixQ("gidNumber", gidNumber);
269         if (opLambda != null) {
270             opLambda.callback(builder);
271         }
272     }
273 
274     public void setGidNumber_Fuzzy(Long gidNumber) {
275         setGidNumber_Fuzzy(gidNumber, null);
276     }
277 
278     public void setGidNumber_Fuzzy(Long gidNumber, ConditionOptionCall<MatchQueryBuilder> opLambda) {
279         MatchQueryBuilder builder = regFuzzyQ("gidNumber", gidNumber);
280         if (opLambda != null) {
281             opLambda.callback(builder);
282         }
283     }
284 
285     public void setGidNumber_GreaterThan(Long gidNumber) {
286         setGidNumber_GreaterThan(gidNumber, null);
287     }
288 
289     public void setGidNumber_GreaterThan(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
290         final Object _value = gidNumber;
291         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_GREATER_THAN, _value);
292         if (opLambda != null) {
293             opLambda.callback(builder);
294         }
295     }
296 
297     public void setGidNumber_LessThan(Long gidNumber) {
298         setGidNumber_LessThan(gidNumber, null);
299     }
300 
301     public void setGidNumber_LessThan(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
302         final Object _value = gidNumber;
303         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_LESS_THAN, _value);
304         if (opLambda != null) {
305             opLambda.callback(builder);
306         }
307     }
308 
309     public void setGidNumber_GreaterEqual(Long gidNumber) {
310         setGidNumber_GreaterEqual(gidNumber, null);
311     }
312 
313     public void setGidNumber_GreaterEqual(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
314         final Object _value = gidNumber;
315         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_GREATER_EQUAL, _value);
316         if (opLambda != null) {
317             opLambda.callback(builder);
318         }
319     }
320 
321     public void setGidNumber_LessEqual(Long gidNumber) {
322         setGidNumber_LessEqual(gidNumber, null);
323     }
324 
325     public void setGidNumber_LessEqual(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
326         final Object _value = gidNumber;
327         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_LESS_EQUAL, _value);
328         if (opLambda != null) {
329             opLambda.callback(builder);
330         }
331     }
332 
333     public void setGidNumber_Exists() {
334         setGidNumber_Exists(null);
335     }
336 
337     public void setGidNumber_Exists(ConditionOptionCall<ExistsQueryBuilder> opLambda) {
338         ExistsQueryBuilder builder = regExistsQ("gidNumber");
339         if (opLambda != null) {
340             opLambda.callback(builder);
341         }
342     }
343 
344     public void setGidNumber_CommonTerms(Long gidNumber) {
345         setGidNumber_CommonTerms(gidNumber, null);
346     }
347 
348     public void setGidNumber_CommonTerms(Long gidNumber, ConditionOptionCall<CommonTermsQueryBuilder> opLambda) {
349         CommonTermsQueryBuilder builder = regCommonTermsQ("gidNumber", gidNumber);
350         if (opLambda != null) {
351             opLambda.callback(builder);
352         }
353     }
354 
355     public BsGroupCQ addOrderBy_GidNumber_Asc() {
356         regOBA("gidNumber");
357         return this;
358     }
359 
360     public BsGroupCQ addOrderBy_GidNumber_Desc() {
361         regOBD("gidNumber");
362         return this;
363     }
364 
365     public void setName_Equal(String name) {
366         setName_Term(name, null);
367     }
368 
369     public void setName_Equal(String name, ConditionOptionCall<TermQueryBuilder> opLambda) {
370         setName_Term(name, opLambda);
371     }
372 
373     public void setName_Term(String name) {
374         setName_Term(name, null);
375     }
376 
377     public void setName_Term(String name, ConditionOptionCall<TermQueryBuilder> opLambda) {
378         TermQueryBuilder builder = regTermQ("name", name);
379         if (opLambda != null) {
380             opLambda.callback(builder);
381         }
382     }
383 
384     public void setName_NotEqual(String name) {
385         setName_NotTerm(name, null);
386     }
387 
388     public void setName_NotTerm(String name) {
389         setName_NotTerm(name, null);
390     }
391 
392     public void setName_NotEqual(String name, ConditionOptionCall<BoolQueryBuilder> opLambda) {
393         setName_NotTerm(name, opLambda);
394     }
395 
396     public void setName_NotTerm(String name, ConditionOptionCall<BoolQueryBuilder> opLambda) {
397         not(not -> not.setName_Term(name), opLambda);
398     }
399 
400     public void setName_Terms(Collection<String> nameList) {
401         setName_Terms(nameList, null);
402     }
403 
404     public void setName_Terms(Collection<String> nameList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
405         TermsQueryBuilder builder = regTermsQ("name", nameList);
406         if (opLambda != null) {
407             opLambda.callback(builder);
408         }
409     }
410 
411     public void setName_InScope(Collection<String> nameList) {
412         setName_Terms(nameList, null);
413     }
414 
415     public void setName_InScope(Collection<String> nameList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
416         setName_Terms(nameList, opLambda);
417     }
418 
419     public void setName_Match(String name) {
420         setName_Match(name, null);
421     }
422 
423     public void setName_Match(String name, ConditionOptionCall<MatchQueryBuilder> opLambda) {
424         MatchQueryBuilder builder = regMatchQ("name", name);
425         if (opLambda != null) {
426             opLambda.callback(builder);
427         }
428     }
429 
430     public void setName_MatchPhrase(String name) {
431         setName_MatchPhrase(name, null);
432     }
433 
434     public void setName_MatchPhrase(String name, ConditionOptionCall<MatchPhraseQueryBuilder> opLambda) {
435         MatchPhraseQueryBuilder builder = regMatchPhraseQ("name", name);
436         if (opLambda != null) {
437             opLambda.callback(builder);
438         }
439     }
440 
441     public void setName_MatchPhrasePrefix(String name) {
442         setName_MatchPhrasePrefix(name, null);
443     }
444 
445     public void setName_MatchPhrasePrefix(String name, ConditionOptionCall<MatchPhrasePrefixQueryBuilder> opLambda) {
446         MatchPhrasePrefixQueryBuilder builder = regMatchPhrasePrefixQ("name", name);
447         if (opLambda != null) {
448             opLambda.callback(builder);
449         }
450     }
451 
452     public void setName_Fuzzy(String name) {
453         setName_Fuzzy(name, null);
454     }
455 
456     public void setName_Fuzzy(String name, ConditionOptionCall<MatchQueryBuilder> opLambda) {
457         MatchQueryBuilder builder = regFuzzyQ("name", name);
458         if (opLambda != null) {
459             opLambda.callback(builder);
460         }
461     }
462 
463     public void setName_Prefix(String name) {
464         setName_Prefix(name, null);
465     }
466 
467     public void setName_Prefix(String name, ConditionOptionCall<PrefixQueryBuilder> opLambda) {
468         PrefixQueryBuilder builder = regPrefixQ("name", name);
469         if (opLambda != null) {
470             opLambda.callback(builder);
471         }
472     }
473 
474     public void setName_Wildcard(String name) {
475         setName_Wildcard(name, null);
476     }
477 
478     public void setName_Wildcard(String name, ConditionOptionCall<WildcardQueryBuilder> opLambda) {
479         WildcardQueryBuilder builder = regWildcardQ("name", name);
480         if (opLambda != null) {
481             opLambda.callback(builder);
482         }
483     }
484 
485     public void setName_Regexp(String name) {
486         setName_Regexp(name, null);
487     }
488 
489     public void setName_Regexp(String name, ConditionOptionCall<RegexpQueryBuilder> opLambda) {
490         RegexpQueryBuilder builder = regRegexpQ("name", name);
491         if (opLambda != null) {
492             opLambda.callback(builder);
493         }
494     }
495 
496     public void setName_SpanTerm(String name) {
497         setName_SpanTerm("name", null);
498     }
499 
500     public void setName_SpanTerm(String name, ConditionOptionCall<SpanTermQueryBuilder> opLambda) {
501         SpanTermQueryBuilder builder = regSpanTermQ("name", name);
502         if (opLambda != null) {
503             opLambda.callback(builder);
504         }
505     }
506 
507     public void setName_GreaterThan(String name) {
508         setName_GreaterThan(name, null);
509     }
510 
511     public void setName_GreaterThan(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
512         final Object _value = name;
513         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_GREATER_THAN, _value);
514         if (opLambda != null) {
515             opLambda.callback(builder);
516         }
517     }
518 
519     public void setName_LessThan(String name) {
520         setName_LessThan(name, null);
521     }
522 
523     public void setName_LessThan(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
524         final Object _value = name;
525         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_LESS_THAN, _value);
526         if (opLambda != null) {
527             opLambda.callback(builder);
528         }
529     }
530 
531     public void setName_GreaterEqual(String name) {
532         setName_GreaterEqual(name, null);
533     }
534 
535     public void setName_GreaterEqual(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
536         final Object _value = name;
537         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_GREATER_EQUAL, _value);
538         if (opLambda != null) {
539             opLambda.callback(builder);
540         }
541     }
542 
543     public void setName_LessEqual(String name) {
544         setName_LessEqual(name, null);
545     }
546 
547     public void setName_LessEqual(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
548         final Object _value = name;
549         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_LESS_EQUAL, _value);
550         if (opLambda != null) {
551             opLambda.callback(builder);
552         }
553     }
554 
555     public void setName_Exists() {
556         setName_Exists(null);
557     }
558 
559     public void setName_Exists(ConditionOptionCall<ExistsQueryBuilder> opLambda) {
560         ExistsQueryBuilder builder = regExistsQ("name");
561         if (opLambda != null) {
562             opLambda.callback(builder);
563         }
564     }
565 
566     public void setName_CommonTerms(String name) {
567         setName_CommonTerms(name, null);
568     }
569 
570     public void setName_CommonTerms(String name, ConditionOptionCall<CommonTermsQueryBuilder> opLambda) {
571         CommonTermsQueryBuilder builder = regCommonTermsQ("name", name);
572         if (opLambda != null) {
573             opLambda.callback(builder);
574         }
575     }
576 
577     public BsGroupCQ addOrderBy_Name_Asc() {
578         regOBA("name");
579         return this;
580     }
581 
582     public BsGroupCQ addOrderBy_Name_Desc() {
583         regOBD("name");
584         return this;
585     }
586 
587 }