2121import java .util .Objects ;
2222import java .util .function .Supplier ;
2323
24+ import org .jspecify .annotations .NonNull ;
2425import org .jspecify .annotations .Nullable ;
2526import org .mybatis .dynamic .sql .delete .DeleteDSL ;
2627import org .mybatis .dynamic .sql .delete .DeleteModel ;
6263import org .mybatis .dynamic .sql .util .Buildable ;
6364import org .mybatis .dynamic .sql .where .WhereDSL ;
6465import org .mybatis .dynamic .sql .where .condition .IsBetween ;
66+ import org .mybatis .dynamic .sql .where .condition .IsBetweenWhenPresent ;
6567import org .mybatis .dynamic .sql .where .condition .IsEqualTo ;
6668import org .mybatis .dynamic .sql .where .condition .IsEqualToColumn ;
69+ import org .mybatis .dynamic .sql .where .condition .IsEqualToWhenPresent ;
6770import org .mybatis .dynamic .sql .where .condition .IsEqualToWithSubselect ;
6871import org .mybatis .dynamic .sql .where .condition .IsGreaterThan ;
6972import org .mybatis .dynamic .sql .where .condition .IsGreaterThanColumn ;
7073import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualTo ;
7174import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualToColumn ;
75+ import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualToWhenPresent ;
7276import org .mybatis .dynamic .sql .where .condition .IsGreaterThanOrEqualToWithSubselect ;
77+ import org .mybatis .dynamic .sql .where .condition .IsGreaterThanWhenPresent ;
7378import org .mybatis .dynamic .sql .where .condition .IsGreaterThanWithSubselect ;
7479import org .mybatis .dynamic .sql .where .condition .IsIn ;
7580import org .mybatis .dynamic .sql .where .condition .IsInCaseInsensitive ;
8085import org .mybatis .dynamic .sql .where .condition .IsLessThanColumn ;
8186import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualTo ;
8287import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualToColumn ;
88+ import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualToWhenPresent ;
8389import org .mybatis .dynamic .sql .where .condition .IsLessThanOrEqualToWithSubselect ;
90+ import org .mybatis .dynamic .sql .where .condition .IsLessThanWhenPresent ;
8491import org .mybatis .dynamic .sql .where .condition .IsLessThanWithSubselect ;
8592import org .mybatis .dynamic .sql .where .condition .IsLike ;
8693import org .mybatis .dynamic .sql .where .condition .IsLikeCaseInsensitive ;
94+ import org .mybatis .dynamic .sql .where .condition .IsLikeCaseInsensitiveWhenPresent ;
95+ import org .mybatis .dynamic .sql .where .condition .IsLikeWhenPresent ;
8796import org .mybatis .dynamic .sql .where .condition .IsNotBetween ;
97+ import org .mybatis .dynamic .sql .where .condition .IsNotBetweenWhenPresent ;
8898import org .mybatis .dynamic .sql .where .condition .IsNotEqualTo ;
8999import org .mybatis .dynamic .sql .where .condition .IsNotEqualToColumn ;
100+ import org .mybatis .dynamic .sql .where .condition .IsNotEqualToWhenPresent ;
90101import org .mybatis .dynamic .sql .where .condition .IsNotEqualToWithSubselect ;
91102import org .mybatis .dynamic .sql .where .condition .IsNotIn ;
92103import org .mybatis .dynamic .sql .where .condition .IsNotInCaseInsensitive ;
95106import org .mybatis .dynamic .sql .where .condition .IsNotInWithSubselect ;
96107import org .mybatis .dynamic .sql .where .condition .IsNotLike ;
97108import org .mybatis .dynamic .sql .where .condition .IsNotLikeCaseInsensitive ;
109+ import org .mybatis .dynamic .sql .where .condition .IsNotLikeCaseInsensitiveWhenPresent ;
110+ import org .mybatis .dynamic .sql .where .condition .IsNotLikeWhenPresent ;
98111import org .mybatis .dynamic .sql .where .condition .IsNotNull ;
99112import org .mybatis .dynamic .sql .where .condition .IsNull ;
100113
@@ -634,11 +647,11 @@ static <T> IsEqualToColumn<T> isEqualTo(BasicColumn column) {
634647 return IsEqualToColumn .of (column );
635648 }
636649
637- static <T > IsEqualTo <T > isEqualToWhenPresent (@ Nullable T value ) {
638- return value == null ? IsEqualTo . empty () : IsEqualTo .of (value );
650+ static <T > IsEqualToWhenPresent <T > isEqualToWhenPresent (@ Nullable T value ) {
651+ return IsEqualToWhenPresent .of (value );
639652 }
640653
641- static <T > IsEqualTo <T > isEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
654+ static <T > IsEqualToWhenPresent <T > isEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
642655 return isEqualToWhenPresent (valueSupplier .get ());
643656 }
644657
@@ -658,11 +671,11 @@ static <T> IsNotEqualToColumn<T> isNotEqualTo(BasicColumn column) {
658671 return IsNotEqualToColumn .of (column );
659672 }
660673
661- static <T > IsNotEqualTo <T > isNotEqualToWhenPresent (@ Nullable T value ) {
662- return value == null ? IsNotEqualTo . empty () : IsNotEqualTo .of (value );
674+ static <T > IsNotEqualToWhenPresent <T > isNotEqualToWhenPresent (@ Nullable T value ) {
675+ return IsNotEqualToWhenPresent .of (value );
663676 }
664677
665- static <T > IsNotEqualTo <T > isNotEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
678+ static <T > IsNotEqualToWhenPresent <T > isNotEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
666679 return isNotEqualToWhenPresent (valueSupplier .get ());
667680 }
668681
@@ -682,11 +695,11 @@ static <T> IsGreaterThanColumn<T> isGreaterThan(BasicColumn column) {
682695 return IsGreaterThanColumn .of (column );
683696 }
684697
685- static <T > IsGreaterThan <T > isGreaterThanWhenPresent (@ Nullable T value ) {
686- return value == null ? IsGreaterThan . empty () : IsGreaterThan .of (value );
698+ static <T > IsGreaterThanWhenPresent <T > isGreaterThanWhenPresent (@ Nullable T value ) {
699+ return IsGreaterThanWhenPresent .of (value );
687700 }
688701
689- static <T > IsGreaterThan <T > isGreaterThanWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
702+ static <T > IsGreaterThanWhenPresent <T > isGreaterThanWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
690703 return isGreaterThanWhenPresent (valueSupplier .get ());
691704 }
692705
@@ -707,11 +720,12 @@ static <T> IsGreaterThanOrEqualToColumn<T> isGreaterThanOrEqualTo(BasicColumn co
707720 return IsGreaterThanOrEqualToColumn .of (column );
708721 }
709722
710- static <T > IsGreaterThanOrEqualTo <T > isGreaterThanOrEqualToWhenPresent (@ Nullable T value ) {
711- return value == null ? IsGreaterThanOrEqualTo . empty () : IsGreaterThanOrEqualTo .of (value );
723+ static <T > IsGreaterThanOrEqualToWhenPresent <T > isGreaterThanOrEqualToWhenPresent (@ Nullable T value ) {
724+ return IsGreaterThanOrEqualToWhenPresent .of (value );
712725 }
713726
714- static <T > IsGreaterThanOrEqualTo <T > isGreaterThanOrEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
727+ static <T > IsGreaterThanOrEqualToWhenPresent <T > isGreaterThanOrEqualToWhenPresent (
728+ Supplier <@ Nullable T > valueSupplier ) {
715729 return isGreaterThanOrEqualToWhenPresent (valueSupplier .get ());
716730 }
717731
@@ -731,11 +745,11 @@ static <T> IsLessThanColumn<T> isLessThan(BasicColumn column) {
731745 return IsLessThanColumn .of (column );
732746 }
733747
734- static <T > IsLessThan <T > isLessThanWhenPresent (@ Nullable T value ) {
735- return value == null ? IsLessThan . empty () : IsLessThan .of (value );
748+ static <T > IsLessThanWhenPresent <T > isLessThanWhenPresent (@ Nullable T value ) {
749+ return IsLessThanWhenPresent .of (value );
736750 }
737751
738- static <T > IsLessThan <T > isLessThanWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
752+ static <T > IsLessThanWhenPresent <T > isLessThanWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
739753 return isLessThanWhenPresent (valueSupplier .get ());
740754 }
741755
@@ -755,20 +769,20 @@ static <T> IsLessThanOrEqualToColumn<T> isLessThanOrEqualTo(BasicColumn column)
755769 return IsLessThanOrEqualToColumn .of (column );
756770 }
757771
758- static <T > IsLessThanOrEqualTo <T > isLessThanOrEqualToWhenPresent (@ Nullable T value ) {
759- return value == null ? IsLessThanOrEqualTo . empty () : IsLessThanOrEqualTo .of (value );
772+ static <T > IsLessThanOrEqualToWhenPresent <T > isLessThanOrEqualToWhenPresent (@ Nullable T value ) {
773+ return IsLessThanOrEqualToWhenPresent .of (value );
760774 }
761775
762- static <T > IsLessThanOrEqualTo <T > isLessThanOrEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
776+ static <T > IsLessThanOrEqualToWhenPresent <T > isLessThanOrEqualToWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
763777 return isLessThanOrEqualToWhenPresent (valueSupplier .get ());
764778 }
765779
766780 @ SafeVarargs
767- static <T > IsIn <T > isIn (T ... values ) {
781+ static <T > IsIn <T > isIn (@ NonNull T ... values ) {
768782 return IsIn .of (values );
769783 }
770784
771- static <T > IsIn <T > isIn (Collection <T > values ) {
785+ static <T > IsIn <T > isIn (Collection <@ NonNull T > values ) {
772786 return IsIn .of (values );
773787 }
774788
@@ -782,15 +796,15 @@ static <T> IsInWhenPresent<T> isInWhenPresent(@Nullable T... values) {
782796 }
783797
784798 static <T > IsInWhenPresent <T > isInWhenPresent (@ Nullable Collection <@ Nullable T > values ) {
785- return values == null ? IsInWhenPresent . empty () : IsInWhenPresent .of (values );
799+ return IsInWhenPresent .of (values );
786800 }
787801
788802 @ SafeVarargs
789- static <T > IsNotIn <T > isNotIn (T ... values ) {
803+ static <T > IsNotIn <T > isNotIn (@ NonNull T ... values ) {
790804 return IsNotIn .of (values );
791805 }
792806
793- static <T > IsNotIn <T > isNotIn (Collection <T > values ) {
807+ static <T > IsNotIn <T > isNotIn (Collection <@ NonNull T > values ) {
794808 return IsNotIn .of (values );
795809 }
796810
@@ -804,38 +818,38 @@ static <T> IsNotInWhenPresent<T> isNotInWhenPresent(@Nullable T... values) {
804818 }
805819
806820 static <T > IsNotInWhenPresent <T > isNotInWhenPresent (@ Nullable Collection <@ Nullable T > values ) {
807- return values == null ? IsNotInWhenPresent . empty () : IsNotInWhenPresent .of (values );
821+ return IsNotInWhenPresent .of (values );
808822 }
809823
810824 static <T > IsBetween .Builder <T > isBetween (T value1 ) {
811825 return IsBetween .isBetween (value1 );
812826 }
813827
814- static <T > IsBetween .Builder <T > isBetween (Supplier <T > valueSupplier1 ) {
828+ static <T > IsBetween .Builder <T > isBetween (Supplier <@ NonNull T > valueSupplier1 ) {
815829 return isBetween (valueSupplier1 .get ());
816830 }
817831
818- static <T > IsBetween . WhenPresentBuilder <T > isBetweenWhenPresent (@ Nullable T value1 ) {
819- return IsBetween .isBetweenWhenPresent (value1 );
832+ static <T > IsBetweenWhenPresent . Builder <T > isBetweenWhenPresent (@ Nullable T value1 ) {
833+ return IsBetweenWhenPresent .isBetweenWhenPresent (value1 );
820834 }
821835
822- static <T > IsBetween . WhenPresentBuilder <T > isBetweenWhenPresent (Supplier <@ Nullable T > valueSupplier1 ) {
836+ static <T > IsBetweenWhenPresent . Builder <T > isBetweenWhenPresent (Supplier <@ Nullable T > valueSupplier1 ) {
823837 return isBetweenWhenPresent (valueSupplier1 .get ());
824838 }
825839
826840 static <T > IsNotBetween .Builder <T > isNotBetween (T value1 ) {
827841 return IsNotBetween .isNotBetween (value1 );
828842 }
829843
830- static <T > IsNotBetween .Builder <T > isNotBetween (Supplier <T > valueSupplier1 ) {
844+ static <T > IsNotBetween .Builder <T > isNotBetween (Supplier <@ NonNull T > valueSupplier1 ) {
831845 return isNotBetween (valueSupplier1 .get ());
832846 }
833847
834- static <T > IsNotBetween . WhenPresentBuilder <T > isNotBetweenWhenPresent (@ Nullable T value1 ) {
835- return IsNotBetween .isNotBetweenWhenPresent (value1 );
848+ static <T > IsNotBetweenWhenPresent . Builder <T > isNotBetweenWhenPresent (@ Nullable T value1 ) {
849+ return IsNotBetweenWhenPresent .isNotBetweenWhenPresent (value1 );
836850 }
837851
838- static <T > IsNotBetween . WhenPresentBuilder <T > isNotBetweenWhenPresent (Supplier <@ Nullable T > valueSupplier1 ) {
852+ static <T > IsNotBetweenWhenPresent . Builder <T > isNotBetweenWhenPresent (Supplier <@ Nullable T > valueSupplier1 ) {
839853 return isNotBetweenWhenPresent (valueSupplier1 .get ());
840854 }
841855
@@ -848,11 +862,11 @@ static <T> IsLike<T> isLike(Supplier<T> valueSupplier) {
848862 return isLike (valueSupplier .get ());
849863 }
850864
851- static <T > IsLike <T > isLikeWhenPresent (@ Nullable T value ) {
852- return value == null ? IsLike . empty () : IsLike .of (value );
865+ static <T > IsLikeWhenPresent <T > isLikeWhenPresent (@ Nullable T value ) {
866+ return IsLikeWhenPresent .of (value );
853867 }
854868
855- static <T > IsLike <T > isLikeWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
869+ static <T > IsLikeWhenPresent <T > isLikeWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
856870 return isLikeWhenPresent (valueSupplier .get ());
857871 }
858872
@@ -864,11 +878,11 @@ static <T> IsNotLike<T> isNotLike(Supplier<T> valueSupplier) {
864878 return isNotLike (valueSupplier .get ());
865879 }
866880
867- static <T > IsNotLike <T > isNotLikeWhenPresent (@ Nullable T value ) {
868- return value == null ? IsNotLike . empty () : IsNotLike .of (value );
881+ static <T > IsNotLikeWhenPresent <T > isNotLikeWhenPresent (@ Nullable T value ) {
882+ return IsNotLikeWhenPresent .of (value );
869883 }
870884
871- static <T > IsNotLike <T > isNotLikeWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
885+ static <T > IsNotLikeWhenPresent <T > isNotLikeWhenPresent (Supplier <@ Nullable T > valueSupplier ) {
872886 return isNotLikeWhenPresent (valueSupplier .get ());
873887 }
874888
@@ -890,11 +904,12 @@ static IsLikeCaseInsensitive<String> isLikeCaseInsensitive(Supplier<String> valu
890904 return isLikeCaseInsensitive (valueSupplier .get ());
891905 }
892906
893- static IsLikeCaseInsensitive <String > isLikeCaseInsensitiveWhenPresent (@ Nullable String value ) {
894- return value == null ? IsLikeCaseInsensitive . empty () : IsLikeCaseInsensitive .of (value );
907+ static IsLikeCaseInsensitiveWhenPresent <String > isLikeCaseInsensitiveWhenPresent (@ Nullable String value ) {
908+ return IsLikeCaseInsensitiveWhenPresent .of (value );
895909 }
896910
897- static IsLikeCaseInsensitive <String > isLikeCaseInsensitiveWhenPresent (Supplier <@ Nullable String > valueSupplier ) {
911+ static IsLikeCaseInsensitiveWhenPresent <String > isLikeCaseInsensitiveWhenPresent (
912+ Supplier <@ Nullable String > valueSupplier ) {
898913 return isLikeCaseInsensitiveWhenPresent (valueSupplier .get ());
899914 }
900915
@@ -906,11 +921,11 @@ static IsNotLikeCaseInsensitive<String> isNotLikeCaseInsensitive(Supplier<String
906921 return isNotLikeCaseInsensitive (valueSupplier .get ());
907922 }
908923
909- static IsNotLikeCaseInsensitive <String > isNotLikeCaseInsensitiveWhenPresent (@ Nullable String value ) {
910- return value == null ? IsNotLikeCaseInsensitive . empty () : IsNotLikeCaseInsensitive .of (value );
924+ static IsNotLikeCaseInsensitiveWhenPresent <String > isNotLikeCaseInsensitiveWhenPresent (@ Nullable String value ) {
925+ return IsNotLikeCaseInsensitiveWhenPresent .of (value );
911926 }
912927
913- static IsNotLikeCaseInsensitive <String > isNotLikeCaseInsensitiveWhenPresent (
928+ static IsNotLikeCaseInsensitiveWhenPresent <String > isNotLikeCaseInsensitiveWhenPresent (
914929 Supplier <@ Nullable String > valueSupplier ) {
915930 return isNotLikeCaseInsensitiveWhenPresent (valueSupplier .get ());
916931 }
@@ -929,7 +944,7 @@ static IsInCaseInsensitiveWhenPresent<String> isInCaseInsensitiveWhenPresent(@Nu
929944
930945 static IsInCaseInsensitiveWhenPresent <String > isInCaseInsensitiveWhenPresent (
931946 @ Nullable Collection <@ Nullable String > values ) {
932- return values == null ? IsInCaseInsensitiveWhenPresent . empty () : IsInCaseInsensitiveWhenPresent .of (values );
947+ return IsInCaseInsensitiveWhenPresent .of (values );
933948 }
934949
935950 static IsNotInCaseInsensitive <String > isNotInCaseInsensitive (String ... values ) {
@@ -946,8 +961,7 @@ static IsNotInCaseInsensitiveWhenPresent<String> isNotInCaseInsensitiveWhenPrese
946961
947962 static IsNotInCaseInsensitiveWhenPresent <String > isNotInCaseInsensitiveWhenPresent (
948963 @ Nullable Collection <@ Nullable String > values ) {
949- return values == null ? IsNotInCaseInsensitiveWhenPresent .empty () :
950- IsNotInCaseInsensitiveWhenPresent .of (values );
964+ return IsNotInCaseInsensitiveWhenPresent .of (values );
951965 }
952966
953967 // order by support
0 commit comments