Skip to content

Commit 1a374f8

Browse files
committed
Save some garbage in the providers
1 parent 8db58a8 commit 1a374f8

File tree

7 files changed

+75
-48
lines changed

7 files changed

+75
-48
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class DefaultDeleteStatementProvider implements DeleteStatementProvider {
2525

2626
private DefaultDeleteStatementProvider(Builder builder) {
2727
deleteStatement = Objects.requireNonNull(builder.deleteStatement);
28-
parameters = Objects.requireNonNull(builder.parameters);
28+
parameters = builder.parameters;
2929
}
3030

3131
@Override

src/main/java/org/mybatis/dynamic/sql/insert/render/DefaultGeneralInsertStatementProvider.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
public class DefaultGeneralInsertStatementProvider
2323
implements GeneralInsertStatementProvider, InsertSelectStatementProvider {
2424
private final String insertStatement;
25-
private final Map<String, Object> parameters = new HashMap<>();
25+
private final Map<String, Object> parameters;
2626

2727
private DefaultGeneralInsertStatementProvider(Builder builder) {
2828
insertStatement = Objects.requireNonNull(builder.insertStatement);
29-
parameters.putAll(builder.parameters);
29+
parameters = builder.parameters;
3030
}
3131

3232
@Override

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121

2222
public class DefaultUpdateStatementProvider implements UpdateStatementProvider {
2323
private final String updateStatement;
24-
private final Map<String, Object> parameters = new HashMap<>();
24+
private final Map<String, Object> parameters;
2525

2626
private DefaultUpdateStatementProvider(Builder builder) {
2727
updateStatement = Objects.requireNonNull(builder.updateStatement);
28-
parameters.putAll(builder.parameters);
28+
parameters = builder.parameters;
2929
}
3030

3131
@Override

src/main/java/org/mybatis/dynamic/sql/util/FragmentAndParameters.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.mybatis.dynamic.sql.util;
1717

18+
import java.util.Collections;
1819
import java.util.HashMap;
1920
import java.util.Map;
2021
import java.util.Objects;
@@ -28,7 +29,7 @@ public class FragmentAndParameters {
2829

2930
private FragmentAndParameters(Builder builder) {
3031
fragment = Objects.requireNonNull(builder.fragment);
31-
parameters = Objects.requireNonNull(builder.parameters);
32+
parameters = Collections.unmodifiableMap(builder.parameters);
3233
}
3334

3435
public String fragment() {

src/main/java/org/mybatis/dynamic/sql/where/WhereModel.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2525
import org.mybatis.dynamic.sql.render.TableAliasCalculator;
2626
import org.mybatis.dynamic.sql.util.FragmentAndParameters;
27+
import org.mybatis.dynamic.sql.where.render.DefaultWhereClauseProvider;
2728
import org.mybatis.dynamic.sql.where.render.WhereClauseProvider;
2829
import org.mybatis.dynamic.sql.where.render.WhereRenderer;
2930

@@ -92,7 +93,7 @@ private Optional<WhereClauseProvider> render(RenderingContext renderingContext)
9293
}
9394

9495
private WhereClauseProvider toWhereClauseProvider(FragmentAndParameters fragmentAndParameters) {
95-
return WhereClauseProvider.withWhereClause(fragmentAndParameters.fragment())
96+
return DefaultWhereClauseProvider.withWhereClause(fragmentAndParameters.fragment())
9697
.withParameters(fragmentAndParameters.parameters())
9798
.build();
9899
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* Copyright 2016-2024 the original author or authors.
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+
* https://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, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package org.mybatis.dynamic.sql.where.render;
17+
18+
import java.util.HashMap;
19+
import java.util.Map;
20+
import java.util.Objects;
21+
22+
public class DefaultWhereClauseProvider implements WhereClauseProvider {
23+
private final String whereClause;
24+
private final Map<String, Object> parameters;
25+
26+
private DefaultWhereClauseProvider(Builder builder) {
27+
whereClause = Objects.requireNonNull(builder.whereClause);
28+
parameters = builder.parameters;
29+
}
30+
31+
@Override
32+
public Map<String, Object> getParameters() {
33+
return parameters;
34+
}
35+
36+
@Override
37+
public String getWhereClause() {
38+
return whereClause;
39+
}
40+
41+
public static Builder withWhereClause(String whereClause) {
42+
return new Builder().withWhereClause(whereClause);
43+
}
44+
45+
public static class Builder {
46+
private String whereClause;
47+
private final Map<String, Object> parameters = new HashMap<>();
48+
49+
public Builder withWhereClause(String whereClause) {
50+
this.whereClause = whereClause;
51+
return this;
52+
}
53+
54+
public Builder withParameters(Map<String, Object> parameters) {
55+
this.parameters.putAll(parameters);
56+
return this;
57+
}
58+
59+
public DefaultWhereClauseProvider build() {
60+
return new DefaultWhereClauseProvider(this);
61+
}
62+
}
63+
}

src/main/java/org/mybatis/dynamic/sql/where/render/WhereClauseProvider.java

+3-41
Original file line numberDiff line numberDiff line change
@@ -15,48 +15,10 @@
1515
*/
1616
package org.mybatis.dynamic.sql.where.render;
1717

18-
import java.util.Collections;
19-
import java.util.HashMap;
2018
import java.util.Map;
21-
import java.util.Objects;
2219

23-
public class WhereClauseProvider {
24-
private final String whereClause;
25-
private final Map<String, Object> parameters;
20+
public interface WhereClauseProvider {
21+
Map<String, Object> getParameters();
2622

27-
private WhereClauseProvider(Builder builder) {
28-
whereClause = Objects.requireNonNull(builder.whereClause);
29-
parameters = Objects.requireNonNull(builder.parameters);
30-
}
31-
32-
public Map<String, Object> getParameters() {
33-
return Collections.unmodifiableMap(parameters);
34-
}
35-
36-
public String getWhereClause() {
37-
return whereClause;
38-
}
39-
40-
public static Builder withWhereClause(String whereClause) {
41-
return new Builder().withWhereClause(whereClause);
42-
}
43-
44-
public static class Builder {
45-
private String whereClause;
46-
private final Map<String, Object> parameters = new HashMap<>();
47-
48-
public Builder withWhereClause(String whereClause) {
49-
this.whereClause = whereClause;
50-
return this;
51-
}
52-
53-
public Builder withParameters(Map<String, Object> parameters) {
54-
this.parameters.putAll(parameters);
55-
return this;
56-
}
57-
58-
public WhereClauseProvider build() {
59-
return new WhereClauseProvider(this);
60-
}
61-
}
23+
String getWhereClause();
6224
}

0 commit comments

Comments
 (0)