1616package org .mybatis .dynamic .sql .where .render ;
1717
1818import java .util .Objects ;
19- import java .util .Optional ;
2019import java .util .concurrent .atomic .AtomicInteger ;
2120
2221import org .mybatis .dynamic .sql .AbstractColumnComparisonCondition ;
3433import org .mybatis .dynamic .sql .util .FragmentAndParameters ;
3534import org .mybatis .dynamic .sql .util .FragmentCollector ;
3635
37- public class WhereConditionVisitor <T > implements ConditionVisitor <T , Optional < FragmentAndParameters > > {
36+ public class WhereConditionVisitor <T > implements ConditionVisitor <T , FragmentAndParameters > {
3837
3938 private RenderingStrategy renderingStrategy ;
4039 private AtomicInteger sequence ;
@@ -51,38 +50,34 @@ private WhereConditionVisitor(Builder<T> builder) {
5150 }
5251
5352 @ Override
54- public Optional < FragmentAndParameters > visit (AbstractListValueCondition <T > condition ) {
53+ public FragmentAndParameters visit (AbstractListValueCondition <T > condition ) {
5554 FragmentCollector fc = condition .mapValues (this ::toFragmentAndParameters )
5655 .collect (FragmentCollector .collect ());
5756
58- if (fc .isEmpty () && condition .skipRenderingWhenEmpty ()) {
59- return Optional .empty ();
60- }
61-
6257 return FragmentAndParameters .withFragment (condition .renderCondition (columnName (), fc .fragments ()))
6358 .withParameters (fc .parameters ())
64- .buildOptional ();
59+ .build ();
6560 }
6661
6762 @ Override
68- public Optional < FragmentAndParameters > visit (AbstractNoValueCondition <T > condition ) {
63+ public FragmentAndParameters visit (AbstractNoValueCondition <T > condition ) {
6964 return FragmentAndParameters .withFragment (condition .renderCondition (columnName ()))
70- .buildOptional ();
65+ .build ();
7166 }
7267
7368 @ Override
74- public Optional < FragmentAndParameters > visit (AbstractSingleValueCondition <T > condition ) {
69+ public FragmentAndParameters visit (AbstractSingleValueCondition <T > condition ) {
7570 String mapKey = RenderingStrategy .formatParameterMapKey (sequence );
7671 String fragment = condition .renderCondition (columnName (),
7772 getFormattedJdbcPlaceholder (mapKey ));
7873
7974 return FragmentAndParameters .withFragment (fragment )
8075 .withParameter (mapKey , convertValue (condition .value ()))
81- .buildOptional ();
76+ .build ();
8277 }
8378
8479 @ Override
85- public Optional < FragmentAndParameters > visit (AbstractTwoValueCondition <T > condition ) {
80+ public FragmentAndParameters visit (AbstractTwoValueCondition <T > condition ) {
8681 String mapKey1 = RenderingStrategy .formatParameterMapKey (sequence );
8782 String mapKey2 = RenderingStrategy .formatParameterMapKey (sequence );
8883 String fragment = condition .renderCondition (columnName (),
@@ -92,12 +87,12 @@ public Optional<FragmentAndParameters> visit(AbstractTwoValueCondition<T> condit
9287 return FragmentAndParameters .withFragment (fragment )
9388 .withParameter (mapKey1 , convertValue (condition .value1 ()))
9489 .withParameter (mapKey2 , convertValue (condition .value2 ()))
95- .buildOptional ();
90+ .build ();
9691 }
9792
9893
9994 @ Override
100- public Optional < FragmentAndParameters > visit (AbstractSubselectCondition <T > condition ) {
95+ public FragmentAndParameters visit (AbstractSubselectCondition <T > condition ) {
10196 SelectStatementProvider selectStatement = SelectRenderer .withSelectModel (condition .selectModel ())
10297 .withRenderingStrategy (renderingStrategy )
10398 .withSequence (sequence )
@@ -108,13 +103,13 @@ public Optional<FragmentAndParameters> visit(AbstractSubselectCondition<T> condi
108103
109104 return FragmentAndParameters .withFragment (fragment )
110105 .withParameters (selectStatement .getParameters ())
111- .buildOptional ();
106+ .build ();
112107 }
113108
114109 @ Override
115- public Optional < FragmentAndParameters > visit (AbstractColumnComparisonCondition <T > condition ) {
110+ public FragmentAndParameters visit (AbstractColumnComparisonCondition <T > condition ) {
116111 String fragment = condition .renderCondition (columnName (), tableAliasCalculator );
117- return FragmentAndParameters .withFragment (fragment ).buildOptional ();
112+ return FragmentAndParameters .withFragment (fragment ).build ();
118113 }
119114
120115 private Object convertValue (T value ) {
0 commit comments