Skip to content

Commit 77d8487

Browse files
committed
Make the builders a bit more intuitive
1 parent bb76e8c commit 77d8487

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

src/main/java/org/mybatis/dynamic/sql/delete/render/DeleteStatement.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import static org.mybatis.dynamic.sql.util.StringUtilities.spaceBefore;
1919

20-
import java.util.Collections;
2120
import java.util.HashMap;
2221
import java.util.Map;
2322
import java.util.Objects;
@@ -57,12 +56,15 @@ public Builder withTableName(String tableName) {
5756
}
5857

5958
public Builder withWhereClause(Optional<WhereClauseAndParameters> whereClauseAndParameters) {
60-
whereClause = whereClauseAndParameters.map(WhereClauseAndParameters::whereClause);
61-
parameters.putAll(whereClauseAndParameters.map(WhereClauseAndParameters::parameters)
62-
.orElse(Collections.emptyMap()));
59+
whereClauseAndParameters.ifPresent(this::handleWhereClause);
6360
return this;
6461
}
6562

63+
private void handleWhereClause(WhereClauseAndParameters whereClauseAndParameters) {
64+
this.whereClause = Optional.of(whereClauseAndParameters.whereClause());
65+
parameters.putAll(whereClauseAndParameters.parameters());
66+
}
67+
6668
public DeleteStatement build() {
6769
return new DeleteStatement(this);
6870
}

src/main/java/org/mybatis/dynamic/sql/select/render/QueryExpression.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import static org.mybatis.dynamic.sql.util.StringUtilities.spaceAfter;
1919
import static org.mybatis.dynamic.sql.util.StringUtilities.spaceBefore;
2020

21-
import java.util.Collections;
2221
import java.util.HashMap;
2322
import java.util.Map;
2423
import java.util.Objects;
@@ -90,9 +89,7 @@ public Builder isDistinct(boolean isDistinct) {
9089
}
9190

9291
public Builder withWhereClause(Optional<WhereClauseAndParameters> whereClauseAndParameters) {
93-
whereClause = whereClauseAndParameters.map(WhereClauseAndParameters::whereClause);
94-
parameters.putAll(whereClauseAndParameters.map(WhereClauseAndParameters::parameters)
95-
.orElse(Collections.emptyMap()));
92+
whereClauseAndParameters.ifPresent(this::handleWhereClause);
9693
return this;
9794
}
9895

@@ -116,6 +113,11 @@ public Builder withGroupByClause(Optional<String> groupByClause) {
116113
return this;
117114
}
118115

116+
private void handleWhereClause(WhereClauseAndParameters whereClauseAndParameters) {
117+
this.whereClause = Optional.of(whereClauseAndParameters.whereClause());
118+
parameters.putAll(whereClauseAndParameters.parameters());
119+
}
120+
119121
public QueryExpression build() {
120122
return new QueryExpression(this);
121123
}

src/main/java/org/mybatis/dynamic/sql/update/render/UpdateStatement.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import static org.mybatis.dynamic.sql.util.StringUtilities.spaceBefore;
1919

20-
import java.util.Collections;
2120
import java.util.HashMap;
2221
import java.util.Map;
2322
import java.util.Objects;
@@ -73,9 +72,7 @@ public Builder withSetClause(String setClause) {
7372
}
7473

7574
public Builder withWhereClause(Optional<WhereClauseAndParameters> whereClauseAndParameters) {
76-
whereClause = whereClauseAndParameters.map(WhereClauseAndParameters::whereClause);
77-
parameters.putAll(whereClauseAndParameters.map(WhereClauseAndParameters::parameters)
78-
.orElse(Collections.emptyMap()));
75+
whereClauseAndParameters.ifPresent(this::handleWhereClause);
7976
return this;
8077
}
8178

@@ -84,6 +81,11 @@ public Builder withParameters(Map<String, Object> parameters) {
8481
return this;
8582
}
8683

84+
private void handleWhereClause(WhereClauseAndParameters whereClauseAndParameters) {
85+
this.whereClause = Optional.of(whereClauseAndParameters.whereClause());
86+
parameters.putAll(whereClauseAndParameters.parameters());
87+
}
88+
8789
public UpdateStatement build() {
8890
return new UpdateStatement(this);
8991
}

0 commit comments

Comments
 (0)