View Javadoc
1   /*
2    * Copyright 2012-2025 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.opensearch.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.fess.opensearch.user.allcommon.EsAbstractConditionQuery;
23  import org.codelibs.fess.opensearch.user.cbean.cq.GroupCQ;
24  import org.dbflute.cbean.ckey.ConditionKey;
25  import org.opensearch.index.query.BoolQueryBuilder;
26  import org.opensearch.index.query.CommonTermsQueryBuilder;
27  import org.opensearch.index.query.ExistsQueryBuilder;
28  import org.opensearch.index.query.IdsQueryBuilder;
29  import org.opensearch.index.query.MatchPhrasePrefixQueryBuilder;
30  import org.opensearch.index.query.MatchPhraseQueryBuilder;
31  import org.opensearch.index.query.MatchQueryBuilder;
32  import org.opensearch.index.query.PrefixQueryBuilder;
33  import org.opensearch.index.query.RangeQueryBuilder;
34  import org.opensearch.index.query.RegexpQueryBuilder;
35  import org.opensearch.index.query.SpanTermQueryBuilder;
36  import org.opensearch.index.query.TermQueryBuilder;
37  import org.opensearch.index.query.TermsQueryBuilder;
38  import org.opensearch.index.query.WildcardQueryBuilder;
39  import org.opensearch.index.query.functionscore.FunctionScoreQueryBuilder;
40  import org.opensearch.index.query.functionscore.FunctionScoreQueryBuilder.FilterFunctionBuilder;
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     @Deprecated
178     public BsGroupCQ addOrderBy_Id_Asc() {
179         regOBA("_id");
180         return this;
181     }
182 
183     @Deprecated
184     public BsGroupCQ addOrderBy_Id_Desc() {
185         regOBD("_id");
186         return this;
187     }
188 
189     public void setGidNumber_Equal(Long gidNumber) {
190         setGidNumber_Term(gidNumber, null);
191     }
192 
193     public void setGidNumber_Equal(Long gidNumber, ConditionOptionCall<TermQueryBuilder> opLambda) {
194         setGidNumber_Term(gidNumber, opLambda);
195     }
196 
197     public void setGidNumber_Term(Long gidNumber) {
198         setGidNumber_Term(gidNumber, null);
199     }
200 
201     public void setGidNumber_Term(Long gidNumber, ConditionOptionCall<TermQueryBuilder> opLambda) {
202         TermQueryBuilder builder = regTermQ("gidNumber", gidNumber);
203         if (opLambda != null) {
204             opLambda.callback(builder);
205         }
206     }
207 
208     public void setGidNumber_NotEqual(Long gidNumber) {
209         setGidNumber_NotTerm(gidNumber, null);
210     }
211 
212     public void setGidNumber_NotTerm(Long gidNumber) {
213         setGidNumber_NotTerm(gidNumber, null);
214     }
215 
216     public void setGidNumber_NotEqual(Long gidNumber, ConditionOptionCall<BoolQueryBuilder> opLambda) {
217         setGidNumber_NotTerm(gidNumber, opLambda);
218     }
219 
220     public void setGidNumber_NotTerm(Long gidNumber, ConditionOptionCall<BoolQueryBuilder> opLambda) {
221         not(not -> not.setGidNumber_Term(gidNumber), opLambda);
222     }
223 
224     public void setGidNumber_Terms(Collection<Long> gidNumberList) {
225         setGidNumber_Terms(gidNumberList, null);
226     }
227 
228     public void setGidNumber_Terms(Collection<Long> gidNumberList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
229         TermsQueryBuilder builder = regTermsQ("gidNumber", gidNumberList);
230         if (opLambda != null) {
231             opLambda.callback(builder);
232         }
233     }
234 
235     public void setGidNumber_InScope(Collection<Long> gidNumberList) {
236         setGidNumber_Terms(gidNumberList, null);
237     }
238 
239     public void setGidNumber_InScope(Collection<Long> gidNumberList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
240         setGidNumber_Terms(gidNumberList, opLambda);
241     }
242 
243     public void setGidNumber_Match(Long gidNumber) {
244         setGidNumber_Match(gidNumber, null);
245     }
246 
247     public void setGidNumber_Match(Long gidNumber, ConditionOptionCall<MatchQueryBuilder> opLambda) {
248         MatchQueryBuilder builder = regMatchQ("gidNumber", gidNumber);
249         if (opLambda != null) {
250             opLambda.callback(builder);
251         }
252     }
253 
254     public void setGidNumber_MatchPhrase(Long gidNumber) {
255         setGidNumber_MatchPhrase(gidNumber, null);
256     }
257 
258     public void setGidNumber_MatchPhrase(Long gidNumber, ConditionOptionCall<MatchPhraseQueryBuilder> opLambda) {
259         MatchPhraseQueryBuilder builder = regMatchPhraseQ("gidNumber", gidNumber);
260         if (opLambda != null) {
261             opLambda.callback(builder);
262         }
263     }
264 
265     public void setGidNumber_MatchPhrasePrefix(Long gidNumber) {
266         setGidNumber_MatchPhrasePrefix(gidNumber, null);
267     }
268 
269     public void setGidNumber_MatchPhrasePrefix(Long gidNumber, ConditionOptionCall<MatchPhrasePrefixQueryBuilder> opLambda) {
270         MatchPhrasePrefixQueryBuilder builder = regMatchPhrasePrefixQ("gidNumber", gidNumber);
271         if (opLambda != null) {
272             opLambda.callback(builder);
273         }
274     }
275 
276     public void setGidNumber_Fuzzy(Long gidNumber) {
277         setGidNumber_Fuzzy(gidNumber, null);
278     }
279 
280     public void setGidNumber_Fuzzy(Long gidNumber, ConditionOptionCall<MatchQueryBuilder> opLambda) {
281         MatchQueryBuilder builder = regFuzzyQ("gidNumber", gidNumber);
282         if (opLambda != null) {
283             opLambda.callback(builder);
284         }
285     }
286 
287     public void setGidNumber_GreaterThan(Long gidNumber) {
288         setGidNumber_GreaterThan(gidNumber, null);
289     }
290 
291     public void setGidNumber_GreaterThan(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
292         final Object _value = gidNumber;
293         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_GREATER_THAN, _value);
294         if (opLambda != null) {
295             opLambda.callback(builder);
296         }
297     }
298 
299     public void setGidNumber_LessThan(Long gidNumber) {
300         setGidNumber_LessThan(gidNumber, null);
301     }
302 
303     public void setGidNumber_LessThan(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
304         final Object _value = gidNumber;
305         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_LESS_THAN, _value);
306         if (opLambda != null) {
307             opLambda.callback(builder);
308         }
309     }
310 
311     public void setGidNumber_GreaterEqual(Long gidNumber) {
312         setGidNumber_GreaterEqual(gidNumber, null);
313     }
314 
315     public void setGidNumber_GreaterEqual(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
316         final Object _value = gidNumber;
317         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_GREATER_EQUAL, _value);
318         if (opLambda != null) {
319             opLambda.callback(builder);
320         }
321     }
322 
323     public void setGidNumber_LessEqual(Long gidNumber) {
324         setGidNumber_LessEqual(gidNumber, null);
325     }
326 
327     public void setGidNumber_LessEqual(Long gidNumber, ConditionOptionCall<RangeQueryBuilder> opLambda) {
328         final Object _value = gidNumber;
329         RangeQueryBuilder builder = regRangeQ("gidNumber", ConditionKey.CK_LESS_EQUAL, _value);
330         if (opLambda != null) {
331             opLambda.callback(builder);
332         }
333     }
334 
335     public void setGidNumber_Exists() {
336         setGidNumber_Exists(null);
337     }
338 
339     public void setGidNumber_Exists(ConditionOptionCall<ExistsQueryBuilder> opLambda) {
340         ExistsQueryBuilder builder = regExistsQ("gidNumber");
341         if (opLambda != null) {
342             opLambda.callback(builder);
343         }
344     }
345 
346     @Deprecated
347     public void setGidNumber_CommonTerms(Long gidNumber) {
348         setGidNumber_CommonTerms(gidNumber, null);
349     }
350 
351     @Deprecated
352     public void setGidNumber_CommonTerms(Long gidNumber, ConditionOptionCall<CommonTermsQueryBuilder> opLambda) {
353         CommonTermsQueryBuilder builder = regCommonTermsQ("gidNumber", gidNumber);
354         if (opLambda != null) {
355             opLambda.callback(builder);
356         }
357     }
358 
359     public BsGroupCQ addOrderBy_GidNumber_Asc() {
360         regOBA("gidNumber");
361         return this;
362     }
363 
364     public BsGroupCQ addOrderBy_GidNumber_Desc() {
365         regOBD("gidNumber");
366         return this;
367     }
368 
369     public void setName_Equal(String name) {
370         setName_Term(name, null);
371     }
372 
373     public void setName_Equal(String name, ConditionOptionCall<TermQueryBuilder> opLambda) {
374         setName_Term(name, opLambda);
375     }
376 
377     public void setName_Term(String name) {
378         setName_Term(name, null);
379     }
380 
381     public void setName_Term(String name, ConditionOptionCall<TermQueryBuilder> opLambda) {
382         TermQueryBuilder builder = regTermQ("name", name);
383         if (opLambda != null) {
384             opLambda.callback(builder);
385         }
386     }
387 
388     public void setName_NotEqual(String name) {
389         setName_NotTerm(name, null);
390     }
391 
392     public void setName_NotTerm(String name) {
393         setName_NotTerm(name, null);
394     }
395 
396     public void setName_NotEqual(String name, ConditionOptionCall<BoolQueryBuilder> opLambda) {
397         setName_NotTerm(name, opLambda);
398     }
399 
400     public void setName_NotTerm(String name, ConditionOptionCall<BoolQueryBuilder> opLambda) {
401         not(not -> not.setName_Term(name), opLambda);
402     }
403 
404     public void setName_Terms(Collection<String> nameList) {
405         setName_Terms(nameList, null);
406     }
407 
408     public void setName_Terms(Collection<String> nameList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
409         TermsQueryBuilder builder = regTermsQ("name", nameList);
410         if (opLambda != null) {
411             opLambda.callback(builder);
412         }
413     }
414 
415     public void setName_InScope(Collection<String> nameList) {
416         setName_Terms(nameList, null);
417     }
418 
419     public void setName_InScope(Collection<String> nameList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
420         setName_Terms(nameList, opLambda);
421     }
422 
423     public void setName_Match(String name) {
424         setName_Match(name, null);
425     }
426 
427     public void setName_Match(String name, ConditionOptionCall<MatchQueryBuilder> opLambda) {
428         MatchQueryBuilder builder = regMatchQ("name", name);
429         if (opLambda != null) {
430             opLambda.callback(builder);
431         }
432     }
433 
434     public void setName_MatchPhrase(String name) {
435         setName_MatchPhrase(name, null);
436     }
437 
438     public void setName_MatchPhrase(String name, ConditionOptionCall<MatchPhraseQueryBuilder> opLambda) {
439         MatchPhraseQueryBuilder builder = regMatchPhraseQ("name", name);
440         if (opLambda != null) {
441             opLambda.callback(builder);
442         }
443     }
444 
445     public void setName_MatchPhrasePrefix(String name) {
446         setName_MatchPhrasePrefix(name, null);
447     }
448 
449     public void setName_MatchPhrasePrefix(String name, ConditionOptionCall<MatchPhrasePrefixQueryBuilder> opLambda) {
450         MatchPhrasePrefixQueryBuilder builder = regMatchPhrasePrefixQ("name", name);
451         if (opLambda != null) {
452             opLambda.callback(builder);
453         }
454     }
455 
456     public void setName_Fuzzy(String name) {
457         setName_Fuzzy(name, null);
458     }
459 
460     public void setName_Fuzzy(String name, ConditionOptionCall<MatchQueryBuilder> opLambda) {
461         MatchQueryBuilder builder = regFuzzyQ("name", name);
462         if (opLambda != null) {
463             opLambda.callback(builder);
464         }
465     }
466 
467     public void setName_Prefix(String name) {
468         setName_Prefix(name, null);
469     }
470 
471     public void setName_Prefix(String name, ConditionOptionCall<PrefixQueryBuilder> opLambda) {
472         PrefixQueryBuilder builder = regPrefixQ("name", name);
473         if (opLambda != null) {
474             opLambda.callback(builder);
475         }
476     }
477 
478     public void setName_Wildcard(String name) {
479         setName_Wildcard(name, null);
480     }
481 
482     public void setName_Wildcard(String name, ConditionOptionCall<WildcardQueryBuilder> opLambda) {
483         WildcardQueryBuilder builder = regWildcardQ("name", name);
484         if (opLambda != null) {
485             opLambda.callback(builder);
486         }
487     }
488 
489     public void setName_Regexp(String name) {
490         setName_Regexp(name, null);
491     }
492 
493     public void setName_Regexp(String name, ConditionOptionCall<RegexpQueryBuilder> opLambda) {
494         RegexpQueryBuilder builder = regRegexpQ("name", name);
495         if (opLambda != null) {
496             opLambda.callback(builder);
497         }
498     }
499 
500     public void setName_SpanTerm(String name) {
501         setName_SpanTerm("name", null);
502     }
503 
504     public void setName_SpanTerm(String name, ConditionOptionCall<SpanTermQueryBuilder> opLambda) {
505         SpanTermQueryBuilder builder = regSpanTermQ("name", name);
506         if (opLambda != null) {
507             opLambda.callback(builder);
508         }
509     }
510 
511     public void setName_GreaterThan(String name) {
512         setName_GreaterThan(name, null);
513     }
514 
515     public void setName_GreaterThan(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
516         final Object _value = name;
517         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_GREATER_THAN, _value);
518         if (opLambda != null) {
519             opLambda.callback(builder);
520         }
521     }
522 
523     public void setName_LessThan(String name) {
524         setName_LessThan(name, null);
525     }
526 
527     public void setName_LessThan(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
528         final Object _value = name;
529         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_LESS_THAN, _value);
530         if (opLambda != null) {
531             opLambda.callback(builder);
532         }
533     }
534 
535     public void setName_GreaterEqual(String name) {
536         setName_GreaterEqual(name, null);
537     }
538 
539     public void setName_GreaterEqual(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
540         final Object _value = name;
541         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_GREATER_EQUAL, _value);
542         if (opLambda != null) {
543             opLambda.callback(builder);
544         }
545     }
546 
547     public void setName_LessEqual(String name) {
548         setName_LessEqual(name, null);
549     }
550 
551     public void setName_LessEqual(String name, ConditionOptionCall<RangeQueryBuilder> opLambda) {
552         final Object _value = name;
553         RangeQueryBuilder builder = regRangeQ("name", ConditionKey.CK_LESS_EQUAL, _value);
554         if (opLambda != null) {
555             opLambda.callback(builder);
556         }
557     }
558 
559     public void setName_Exists() {
560         setName_Exists(null);
561     }
562 
563     public void setName_Exists(ConditionOptionCall<ExistsQueryBuilder> opLambda) {
564         ExistsQueryBuilder builder = regExistsQ("name");
565         if (opLambda != null) {
566             opLambda.callback(builder);
567         }
568     }
569 
570     @Deprecated
571     public void setName_CommonTerms(String name) {
572         setName_CommonTerms(name, null);
573     }
574 
575     @Deprecated
576     public void setName_CommonTerms(String name, ConditionOptionCall<CommonTermsQueryBuilder> opLambda) {
577         CommonTermsQueryBuilder builder = regCommonTermsQ("name", name);
578         if (opLambda != null) {
579             opLambda.callback(builder);
580         }
581     }
582 
583     public BsGroupCQ addOrderBy_Name_Asc() {
584         regOBA("name");
585         return this;
586     }
587 
588     public BsGroupCQ addOrderBy_Name_Desc() {
589         regOBD("name");
590         return this;
591     }
592 
593 }