49
49
import org .mybatis .dynamic .sql .util .Buildable ;
50
50
import org .mybatis .dynamic .sql .where .WhereDSL ;
51
51
import org .mybatis .dynamic .sql .where .condition .IsBetween ;
52
+ import org .mybatis .dynamic .sql .where .condition .IsBetweenWhenPresent ;
52
53
import org .mybatis .dynamic .sql .where .condition .IsEqualTo ;
53
54
import org .mybatis .dynamic .sql .where .condition .IsEqualToColumn ;
55
+ import org .mybatis .dynamic .sql .where .condition .IsEqualToWhenPresent ;
54
56
import org .mybatis .dynamic .sql .where .condition .IsEqualToWithSubselect ;
55
57
import org .mybatis .dynamic .sql .where .condition .IsGreaterThan ;
56
58
import org .mybatis .dynamic .sql .where .condition .IsGreaterThanColumn ;
57
59
import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualTo ;
58
60
import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualToColumn ;
61
+ import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualToWhenPresent ;
59
62
import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualToWithSubselect ;
63
+ import org .mybatis .dynamic .sql .where .condition .IsGreaterThanWhenPresent ;
60
64
import org .mybatis .dynamic .sql .where .condition .IsGreaterThanWithSubselect ;
61
65
import org .mybatis .dynamic .sql .where .condition .IsIn ;
62
66
import org .mybatis .dynamic .sql .where .condition .IsInCaseInsensitive ;
67
+ import org .mybatis .dynamic .sql .where .condition .IsInCaseInsensitiveWhenPresent ;
68
+ import org .mybatis .dynamic .sql .where .condition .IsInWhenPresent ;
63
69
import org .mybatis .dynamic .sql .where .condition .IsInWithSubselect ;
64
70
import org .mybatis .dynamic .sql .where .condition .IsLessThan ;
65
71
import org .mybatis .dynamic .sql .where .condition .IsLessThanColumn ;
66
72
import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualTo ;
67
73
import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualToColumn ;
74
+ import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualToWhenPresent ;
68
75
import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualToWithSubselect ;
76
+ import org .mybatis .dynamic .sql .where .condition .IsLessThanWhenPresent ;
69
77
import org .mybatis .dynamic .sql .where .condition .IsLessThanWithSubselect ;
70
78
import org .mybatis .dynamic .sql .where .condition .IsLike ;
71
79
import org .mybatis .dynamic .sql .where .condition .IsLikeCaseInsensitive ;
80
+ import org .mybatis .dynamic .sql .where .condition .IsLikeCaseInsensitiveWhenPresent ;
81
+ import org .mybatis .dynamic .sql .where .condition .IsLikeWhenPresent ;
72
82
import org .mybatis .dynamic .sql .where .condition .IsNotBetween ;
83
+ import org .mybatis .dynamic .sql .where .condition .IsNotBetweenWhenPresent ;
73
84
import org .mybatis .dynamic .sql .where .condition .IsNotEqualTo ;
74
85
import org .mybatis .dynamic .sql .where .condition .IsNotEqualToColumn ;
86
+ import org .mybatis .dynamic .sql .where .condition .IsNotEqualToWhenPresent ;
75
87
import org .mybatis .dynamic .sql .where .condition .IsNotEqualToWithSubselect ;
76
88
import org .mybatis .dynamic .sql .where .condition .IsNotIn ;
77
89
import org .mybatis .dynamic .sql .where .condition .IsNotInCaseInsensitive ;
90
+ import org .mybatis .dynamic .sql .where .condition .IsNotInCaseInsensitiveWhenPresent ;
91
+ import org .mybatis .dynamic .sql .where .condition .IsNotInWhenPresent ;
78
92
import org .mybatis .dynamic .sql .where .condition .IsNotInWithSubselect ;
79
93
import org .mybatis .dynamic .sql .where .condition .IsNotLike ;
80
94
import org .mybatis .dynamic .sql .where .condition .IsNotLikeCaseInsensitive ;
95
+ import org .mybatis .dynamic .sql .where .condition .IsNotLikeCaseInsensitiveWhenPresent ;
96
+ import org .mybatis .dynamic .sql .where .condition .IsNotLikeWhenPresent ;
81
97
import org .mybatis .dynamic .sql .where .condition .IsNotNull ;
82
98
import org .mybatis .dynamic .sql .where .condition .IsNull ;
83
99
@@ -267,6 +283,14 @@ static <T> IsEqualToColumn<T> isEqualTo(BasicColumn column) {
267
283
return IsEqualToColumn .of (column );
268
284
}
269
285
286
+ static <T > IsEqualToWhenPresent <T > isEqualToWhenPresent (T value ) {
287
+ return isEqualToWhenPresent (() -> value );
288
+ }
289
+
290
+ static <T > IsEqualToWhenPresent <T > isEqualToWhenPresent (Supplier <T > valueSupplier ) {
291
+ return IsEqualToWhenPresent .of (valueSupplier );
292
+ }
293
+
270
294
static <T > IsNotEqualTo <T > isNotEqualTo (T value ) {
271
295
return isNotEqualTo (() -> value );
272
296
}
@@ -283,6 +307,14 @@ static <T> IsNotEqualToColumn<T> isNotEqualTo(BasicColumn column) {
283
307
return IsNotEqualToColumn .of (column );
284
308
}
285
309
310
+ static <T > IsNotEqualToWhenPresent <T > isNotEqualToWhenPresent (T value ) {
311
+ return isNotEqualToWhenPresent (() -> value );
312
+ }
313
+
314
+ static <T > IsNotEqualToWhenPresent <T > isNotEqualToWhenPresent (Supplier <T > valueSupplier ) {
315
+ return IsNotEqualToWhenPresent .of (valueSupplier );
316
+ }
317
+
286
318
static <T > IsGreaterThan <T > isGreaterThan (T value ) {
287
319
return isGreaterThan (() -> value );
288
320
}
@@ -299,6 +331,14 @@ static <T> IsGreaterThanColumn<T> isGreaterThan(BasicColumn column) {
299
331
return IsGreaterThanColumn .of (column );
300
332
}
301
333
334
+ static <T > IsGreaterThanWhenPresent <T > isGreaterThanWhenPresent (T value ) {
335
+ return isGreaterThanWhenPresent (() -> value );
336
+ }
337
+
338
+ static <T > IsGreaterThanWhenPresent <T > isGreaterThanWhenPresent (Supplier <T > valueSupplier ) {
339
+ return IsGreaterThanWhenPresent .of (valueSupplier );
340
+ }
341
+
302
342
static <T > IsGreaterThanOrEqualTo <T > isGreaterThanOrEqualTo (T value ) {
303
343
return isGreaterThanOrEqualTo (() -> value );
304
344
}
@@ -316,6 +356,14 @@ static <T> IsGreaterThanOrEqualToColumn<T> isGreaterThanOrEqualTo(BasicColumn co
316
356
return IsGreaterThanOrEqualToColumn .of (column );
317
357
}
318
358
359
+ static <T > IsGreaterThanOrEqualToWhenPresent <T > isGreaterThanOrEqualToWhenPresent (T value ) {
360
+ return isGreaterThanOrEqualToWhenPresent (() -> value );
361
+ }
362
+
363
+ static <T > IsGreaterThanOrEqualToWhenPresent <T > isGreaterThanOrEqualToWhenPresent (Supplier <T > valueSupplier ) {
364
+ return IsGreaterThanOrEqualToWhenPresent .of (valueSupplier );
365
+ }
366
+
319
367
static <T > IsLessThan <T > isLessThan (T value ) {
320
368
return isLessThan (() -> value );
321
369
}
@@ -332,6 +380,14 @@ static <T> IsLessThanColumn<T> isLessThan(BasicColumn column) {
332
380
return IsLessThanColumn .of (column );
333
381
}
334
382
383
+ static <T > IsLessThanWhenPresent <T > isLessThanWhenPresent (T value ) {
384
+ return isLessThanWhenPresent (() -> value );
385
+ }
386
+
387
+ static <T > IsLessThanWhenPresent <T > isLessThanWhenPresent (Supplier <T > valueSupplier ) {
388
+ return IsLessThanWhenPresent .of (valueSupplier );
389
+ }
390
+
335
391
static <T > IsLessThanOrEqualTo <T > isLessThanOrEqualTo (T value ) {
336
392
return isLessThanOrEqualTo (() -> value );
337
393
}
@@ -348,6 +404,14 @@ static <T> IsLessThanOrEqualToColumn<T> isLessThanOrEqualTo(BasicColumn column)
348
404
return IsLessThanOrEqualToColumn .of (column );
349
405
}
350
406
407
+ static <T > IsLessThanOrEqualToWhenPresent <T > isLessThanOrEqualToWhenPresent (T value ) {
408
+ return isLessThanOrEqualToWhenPresent (() -> value );
409
+ }
410
+
411
+ static <T > IsLessThanOrEqualToWhenPresent <T > isLessThanOrEqualToWhenPresent (Supplier <T > valueSupplier ) {
412
+ return IsLessThanOrEqualToWhenPresent .of (valueSupplier );
413
+ }
414
+
351
415
@ SafeVarargs
352
416
static <T > IsIn <T > isIn (T ...values ) {
353
417
return isIn (Arrays .asList (values ));
@@ -361,6 +425,15 @@ static <T> IsInWithSubselect<T> isIn(Buildable<SelectModel> selectModelBuilder)
361
425
return IsInWithSubselect .of (selectModelBuilder );
362
426
}
363
427
428
+ @ SafeVarargs
429
+ static <T > IsInWhenPresent <T > isInWhenPresent (T ...values ) {
430
+ return isInWhenPresent (Arrays .asList (values ));
431
+ }
432
+
433
+ static <T > IsInWhenPresent <T > isInWhenPresent (List <T > values ) {
434
+ return IsInWhenPresent .of (values );
435
+ }
436
+
364
437
@ SafeVarargs
365
438
static <T > IsNotIn <T > isNotIn (T ...values ) {
366
439
return isNotIn (Arrays .asList (values ));
@@ -374,6 +447,15 @@ static <T> IsNotInWithSubselect<T> isNotIn(Buildable<SelectModel> selectModelBui
374
447
return IsNotInWithSubselect .of (selectModelBuilder );
375
448
}
376
449
450
+ @ SafeVarargs
451
+ static <T > IsNotInWhenPresent <T > isNotInWhenPresent (T ...values ) {
452
+ return isNotInWhenPresent (Arrays .asList (values ));
453
+ }
454
+
455
+ static <T > IsNotInWhenPresent <T > isNotInWhenPresent (List <T > values ) {
456
+ return IsNotInWhenPresent .of (values );
457
+ }
458
+
377
459
static <T > IsBetween .Builder <T > isBetween (T value1 ) {
378
460
return isBetween (() -> value1 );
379
461
}
@@ -382,6 +464,14 @@ static <T> IsBetween.Builder<T> isBetween(Supplier<T> valueSupplier1) {
382
464
return IsBetween .isBetween (valueSupplier1 );
383
465
}
384
466
467
+ static <T > IsBetweenWhenPresent .Builder <T > isBetweenWhenPresent (T value1 ) {
468
+ return isBetweenWhenPresent (() -> value1 );
469
+ }
470
+
471
+ static <T > IsBetweenWhenPresent .Builder <T > isBetweenWhenPresent (Supplier <T > valueSupplier1 ) {
472
+ return IsBetweenWhenPresent .isBetweenWhenPresent (valueSupplier1 );
473
+ }
474
+
385
475
static <T > IsNotBetween .Builder <T > isNotBetween (T value1 ) {
386
476
return isNotBetween (() -> value1 );
387
477
}
@@ -390,6 +480,14 @@ static <T> IsNotBetween.Builder<T> isNotBetween(Supplier<T> valueSupplier1) {
390
480
return IsNotBetween .isNotBetween (valueSupplier1 );
391
481
}
392
482
483
+ static <T > IsNotBetweenWhenPresent .Builder <T > isNotBetweenWhenPresent (T value1 ) {
484
+ return isNotBetweenWhenPresent (() -> value1 );
485
+ }
486
+
487
+ static <T > IsNotBetweenWhenPresent .Builder <T > isNotBetweenWhenPresent (Supplier <T > valueSupplier1 ) {
488
+ return IsNotBetweenWhenPresent .isNotBetweenWhenPresent (valueSupplier1 );
489
+ }
490
+
393
491
// for string columns, but generic for columns with type handlers
394
492
static <T > IsLike <T > isLike (T value ) {
395
493
return isLike (() -> value );
@@ -399,6 +497,14 @@ static <T> IsLike<T> isLike(Supplier<T> valueSupplier) {
399
497
return IsLike .of (valueSupplier );
400
498
}
401
499
500
+ static <T > IsLikeWhenPresent <T > isLikeWhenPresent (T value ) {
501
+ return isLikeWhenPresent (() -> value );
502
+ }
503
+
504
+ static <T > IsLikeWhenPresent <T > isLikeWhenPresent (Supplier <T > valueSupplier ) {
505
+ return IsLikeWhenPresent .of (valueSupplier );
506
+ }
507
+
402
508
static <T > IsNotLike <T > isNotLike (T value ) {
403
509
return isNotLike (() -> value );
404
510
}
@@ -407,6 +513,14 @@ static <T> IsNotLike<T> isNotLike(Supplier<T> valueSupplier) {
407
513
return IsNotLike .of (valueSupplier );
408
514
}
409
515
516
+ static <T > IsNotLikeWhenPresent <T > isNotLikeWhenPresent (T value ) {
517
+ return isNotLikeWhenPresent (() -> value );
518
+ }
519
+
520
+ static <T > IsNotLikeWhenPresent <T > isNotLikeWhenPresent (Supplier <T > valueSupplier ) {
521
+ return IsNotLikeWhenPresent .of (valueSupplier );
522
+ }
523
+
410
524
// conditions for strings only
411
525
static IsLikeCaseInsensitive isLikeCaseInsensitive (String value ) {
412
526
return isLikeCaseInsensitive (() -> value );
@@ -416,6 +530,14 @@ static IsLikeCaseInsensitive isLikeCaseInsensitive(Supplier<String> valueSupplie
416
530
return IsLikeCaseInsensitive .of (valueSupplier );
417
531
}
418
532
533
+ static IsLikeCaseInsensitiveWhenPresent isLikeCaseInsensitiveWhenPresent (String value ) {
534
+ return isLikeCaseInsensitiveWhenPresent (() -> value );
535
+ }
536
+
537
+ static IsLikeCaseInsensitiveWhenPresent isLikeCaseInsensitiveWhenPresent (Supplier <String > valueSupplier ) {
538
+ return IsLikeCaseInsensitiveWhenPresent .of (valueSupplier );
539
+ }
540
+
419
541
static IsNotLikeCaseInsensitive isNotLikeCaseInsensitive (String value ) {
420
542
return isNotLikeCaseInsensitive (() -> value );
421
543
}
@@ -424,14 +546,46 @@ static IsNotLikeCaseInsensitive isNotLikeCaseInsensitive(Supplier<String> valueS
424
546
return IsNotLikeCaseInsensitive .of (valueSupplier );
425
547
}
426
548
549
+ static IsNotLikeCaseInsensitiveWhenPresent isNotLikeCaseInsensitiveWhenPresent (String value ) {
550
+ return isNotLikeCaseInsensitiveWhenPresent (() -> value );
551
+ }
552
+
553
+ static IsNotLikeCaseInsensitiveWhenPresent isNotLikeCaseInsensitiveWhenPresent (Supplier <String > valueSupplier ) {
554
+ return IsNotLikeCaseInsensitiveWhenPresent .of (valueSupplier );
555
+ }
556
+
427
557
static IsInCaseInsensitive isInCaseInsensitive (String ...values ) {
428
- return IsInCaseInsensitive .of (Arrays .asList (values ));
558
+ return isInCaseInsensitive (Arrays .asList (values ));
559
+ }
560
+
561
+ static IsInCaseInsensitive isInCaseInsensitive (List <String > values ) {
562
+ return IsInCaseInsensitive .of (values );
563
+ }
564
+
565
+ static IsInCaseInsensitiveWhenPresent isInCaseInsensitiveWhenPresent (String ...values ) {
566
+ return isInCaseInsensitiveWhenPresent (Arrays .asList (values ));
567
+ }
568
+
569
+ static IsInCaseInsensitiveWhenPresent isInCaseInsensitiveWhenPresent (List <String > values ) {
570
+ return IsInCaseInsensitiveWhenPresent .of (values );
429
571
}
430
572
431
573
static IsNotInCaseInsensitive isNotInCaseInsensitive (String ...values ) {
432
- return IsNotInCaseInsensitive .of (Arrays .asList (values ));
574
+ return isNotInCaseInsensitive (Arrays .asList (values ));
575
+ }
576
+
577
+ static IsNotInCaseInsensitive isNotInCaseInsensitive (List <String > values ) {
578
+ return IsNotInCaseInsensitive .of (values );
433
579
}
434
580
581
+ static IsNotInCaseInsensitiveWhenPresent isNotInCaseInsensitiveWhenPresent (String ...values ) {
582
+ return isNotInCaseInsensitiveWhenPresent (Arrays .asList (values ));
583
+ }
584
+
585
+ static IsNotInCaseInsensitiveWhenPresent isNotInCaseInsensitiveWhenPresent (List <String > values ) {
586
+ return IsNotInCaseInsensitiveWhenPresent .of (values );
587
+ }
588
+
435
589
// order by support
436
590
static SortSpecification sortColumn (String name ) {
437
591
return SimpleSortSpecification .of (name );
0 commit comments