Skip to content

Commit 1e7d50d

Browse files
committed
Remove some cognitive complexity
1 parent 3c4d63c commit 1e7d50d

File tree

7 files changed

+43
-27
lines changed

7 files changed

+43
-27
lines changed

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,31 +37,35 @@ public AbstractMultiRowValuePhraseVisitor(RenderingStrategy renderingStrategy, S
3737

3838
@Override
3939
public FieldAndValue visit(NullMapping mapping) {
40-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
40+
return FieldAndValue.withFieldName(mapping.columnName())
4141
.withValuePhrase("null") //$NON-NLS-1$
4242
.build();
4343
}
4444

4545
@Override
4646
public FieldAndValue visit(ConstantMapping mapping) {
47-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
47+
return FieldAndValue.withFieldName(mapping.columnName())
4848
.withValuePhrase(mapping.constant())
4949
.build();
5050
}
5151

5252
@Override
5353
public FieldAndValue visit(StringConstantMapping mapping) {
54-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
54+
return FieldAndValue.withFieldName(mapping.columnName())
5555
.withValuePhrase("'" + mapping.constant() + "'") //$NON-NLS-1$ //$NON-NLS-2$
5656
.build();
5757
}
5858

5959
@Override
6060
public FieldAndValue visit(PropertyMapping mapping) {
61-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
61+
return FieldAndValue.withFieldName(mapping.columnName())
6262
.withValuePhrase(mapping.mapColumn(toJdbcPlaceholder(mapping.property())))
6363
.build();
6464
}
6565

66-
abstract Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName);
66+
private Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName) {
67+
return column -> calculateJdbcPlaceholder(column, parameterName);
68+
}
69+
70+
abstract String calculateJdbcPlaceholder(SqlColumn<?> column, String parameterName);
6771
}

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
package org.mybatis.dynamic.sql.insert.render;
1717

18-
import java.util.function.Function;
19-
2018
import org.mybatis.dynamic.sql.SqlColumn;
2119
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2220

@@ -27,8 +25,8 @@ public BatchValuePhraseVisitor(RenderingStrategy renderingStrategy, String prefi
2725
}
2826

2927
@Override
30-
Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName) {
31-
return column -> column.renderingStrategy().orElse(renderingStrategy)
28+
String calculateJdbcPlaceholder(SqlColumn<?> column, String parameterName) {
29+
return column.renderingStrategy().orElse(renderingStrategy)
3230
.getFormattedJdbcPlaceholder(column, prefix, parameterName);
3331
}
3432
}

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,21 @@ public GeneralInsertValuePhraseVisitor(RenderingStrategy renderingStrategy) {
4040

4141
@Override
4242
public Optional<FieldAndValueAndParameters> visit(NullMapping mapping) {
43-
return FieldAndValueAndParameters.withFieldName(mapping.mapColumn(SqlColumn::name))
43+
return FieldAndValueAndParameters.withFieldName(mapping.columnName())
4444
.withValuePhrase("null") //$NON-NLS-1$
4545
.buildOptional();
4646
}
4747

4848
@Override
4949
public Optional<FieldAndValueAndParameters> visit(ConstantMapping mapping) {
50-
return FieldAndValueAndParameters.withFieldName(mapping.mapColumn(SqlColumn::name))
50+
return FieldAndValueAndParameters.withFieldName(mapping.columnName())
5151
.withValuePhrase(mapping.constant())
5252
.buildOptional();
5353
}
5454

5555
@Override
5656
public Optional<FieldAndValueAndParameters> visit(StringConstantMapping mapping) {
57-
return FieldAndValueAndParameters.withFieldName(mapping.mapColumn(SqlColumn::name))
57+
return FieldAndValueAndParameters.withFieldName(mapping.columnName())
5858
.withValuePhrase("'" + mapping.constant() + "'") //$NON-NLS-1$ //$NON-NLS-2$
5959
.buildOptional();
6060
}
@@ -79,14 +79,18 @@ private Optional<FieldAndValueAndParameters> buildFragment(AbstractColumnMapping
7979

8080
String jdbcPlaceholder = mapping.mapColumn(toJdbcPlaceholder(mapKey));
8181

82-
return FieldAndValueAndParameters.withFieldName(mapping.mapColumn(SqlColumn::name))
82+
return FieldAndValueAndParameters.withFieldName(mapping.columnName())
8383
.withValuePhrase(jdbcPlaceholder)
8484
.withParameter(mapKey, value)
8585
.buildOptional();
8686
}
8787

8888
private Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName) {
89-
return column -> column.renderingStrategy().orElse(renderingStrategy)
89+
return column -> calculateJdbcPlaceholder(column, parameterName);
90+
}
91+
92+
private String calculateJdbcPlaceholder(SqlColumn<?> column, String parameterName) {
93+
return column.renderingStrategy().orElse(renderingStrategy)
9094
.getFormattedJdbcPlaceholder(column, RenderingStrategy.DEFAULT_PARAMETER_PREFIX, parameterName);
9195
}
9296
}

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
package org.mybatis.dynamic.sql.insert.render;
1717

18-
import java.util.function.Function;
19-
2018
import org.mybatis.dynamic.sql.SqlColumn;
2119
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2220

@@ -27,8 +25,8 @@ public MultiRowValuePhraseVisitor(RenderingStrategy renderingStrategy, String pr
2725
}
2826

2927
@Override
30-
Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName) {
31-
return column -> column.renderingStrategy().orElse(renderingStrategy)
28+
String calculateJdbcPlaceholder(SqlColumn<?> column, String parameterName) {
29+
return column.renderingStrategy().orElse(renderingStrategy)
3230
.getMultiRowFormattedJdbcPlaceholder(column, prefix, parameterName);
3331
}
3432
}

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,28 +37,28 @@ public ValuePhraseVisitor(RenderingStrategy renderingStrategy) {
3737

3838
@Override
3939
public Optional<FieldAndValue> visit(NullMapping mapping) {
40-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
40+
return FieldAndValue.withFieldName(mapping.columnName())
4141
.withValuePhrase("null") //$NON-NLS-1$
4242
.buildOptional();
4343
}
4444

4545
@Override
4646
public Optional<FieldAndValue> visit(ConstantMapping mapping) {
47-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
47+
return FieldAndValue.withFieldName(mapping.columnName())
4848
.withValuePhrase(mapping.constant())
4949
.buildOptional();
5050
}
5151

5252
@Override
5353
public Optional<FieldAndValue> visit(StringConstantMapping mapping) {
54-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
54+
return FieldAndValue.withFieldName(mapping.columnName())
5555
.withValuePhrase("'" + mapping.constant() + "'") //$NON-NLS-1$ //$NON-NLS-2$
5656
.buildOptional();
5757
}
5858

5959
@Override
6060
public Optional<FieldAndValue> visit(PropertyMapping mapping) {
61-
return FieldAndValue.withFieldName(mapping.mapColumn(SqlColumn::name))
61+
return FieldAndValue.withFieldName(mapping.columnName())
6262
.withValuePhrase(mapping.mapColumn(toJdbcPlaceholder(mapping.property())))
6363
.buildOptional();
6464
}
@@ -73,7 +73,11 @@ public Optional<FieldAndValue> visit(PropertyWhenPresentMapping mapping) {
7373
}
7474

7575
private Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName) {
76-
return column -> column.renderingStrategy().orElse(renderingStrategy)
76+
return column -> calculateJdbcPlaceholder(column, parameterName);
77+
}
78+
79+
private String calculateJdbcPlaceholder(SqlColumn<?> column, String parameterName) {
80+
return column.renderingStrategy().orElse(renderingStrategy)
7781
.getFormattedJdbcPlaceholder(column, "record", parameterName); //$NON-NLS-1$
7882
}
7983
}

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

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,20 @@ public SetPhraseVisitor(AtomicInteger sequence, RenderingStrategy renderingStrat
4848

4949
@Override
5050
public Optional<FragmentAndParameters> visit(NullMapping mapping) {
51-
return FragmentAndParameters.withFragment(mapping.mapColumn(SqlColumn::name) + " = null") //$NON-NLS-1$
51+
return FragmentAndParameters.withFragment(mapping.columnName() + " = null") //$NON-NLS-1$
5252
.buildOptional();
5353
}
5454

5555
@Override
5656
public Optional<FragmentAndParameters> visit(ConstantMapping mapping) {
57-
String fragment = mapping.mapColumn(SqlColumn::name) + " = " + mapping.constant(); //$NON-NLS-1$
57+
String fragment = mapping.columnName() + " = " + mapping.constant(); //$NON-NLS-1$
5858
return FragmentAndParameters.withFragment(fragment)
5959
.buildOptional();
6060
}
6161

6262
@Override
6363
public Optional<FragmentAndParameters> visit(StringConstantMapping mapping) {
64-
String fragment = mapping.mapColumn(SqlColumn::name)
64+
String fragment = mapping.columnName()
6565
+ " = '" //$NON-NLS-1$
6666
+ mapping.constant()
6767
+ "'"; //$NON-NLS-1$
@@ -122,7 +122,11 @@ private <T> Optional<FragmentAndParameters> buildFragment(AbstractColumnMapping
122122
}
123123

124124
private Function<SqlColumn<?>, String> toJdbcPlaceholder(String parameterName) {
125-
return column -> column.renderingStrategy().orElse(renderingStrategy)
125+
return column -> calculateJdbcPlaceholder(column, parameterName);
126+
}
127+
128+
private String calculateJdbcPlaceholder(SqlColumn<?> column, String parameterName) {
129+
return column.renderingStrategy().orElse(renderingStrategy)
126130
.getFormattedJdbcPlaceholder(column, RenderingStrategy.DEFAULT_PARAMETER_PREFIX, parameterName);
127131
}
128132
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ protected AbstractColumnMapping(SqlColumn<?> column) {
2727
this.column = Objects.requireNonNull(column);
2828
}
2929

30+
public String columnName() {
31+
return column.name();
32+
}
33+
3034
public <R> R mapColumn(Function<SqlColumn<?>, R> mapper) {
3135
return mapper.apply(column);
3236
}

0 commit comments

Comments
 (0)