Skip to content

Commit 0a340fd

Browse files
committed
modifiable sql type in SimpleValueConverter
1 parent 5a72bcb commit 0a340fd

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

storage/simple/src/main/java/me/hsgamer/topper/storage/simple/converter/SimpleValueConverter.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,18 @@ public class SimpleValueConverter<T> implements ValueConverter<T> {
1313
private final Function<@NotNull T, @NotNull String> toStringConverter;
1414
private final Function<@NotNull String, @Nullable T> fromStringConverter;
1515
private final String valueName;
16-
private final boolean isStringNative;
17-
private final int stringMaxLength;
16+
private final String sqlType;
1817

19-
public SimpleValueConverter(Function<@NotNull T, @NotNull String> toStringConverter, Function<@NotNull String, @Nullable T> fromStringConverter, String valueName, boolean isStringNative, int stringMaxLength) {
18+
public SimpleValueConverter(Function<@NotNull T, @NotNull String> toStringConverter, Function<@NotNull String, @Nullable T> fromStringConverter, String valueName, String sqlType) {
2019
this.toStringConverter = toStringConverter;
2120
this.fromStringConverter = fromStringConverter;
2221
this.valueName = valueName;
23-
this.isStringNative = isStringNative;
24-
this.stringMaxLength = stringMaxLength;
22+
this.sqlType = sqlType;
23+
}
24+
25+
public SimpleValueConverter(Function<@NotNull T, @NotNull String> toStringConverter, Function<@NotNull String, @Nullable T> fromStringConverter, String valueName, boolean isStringNationalized, int stringMaxLength) {
26+
this(toStringConverter, fromStringConverter, valueName, (isStringNationalized ? "N" : "") + "VARCHAR(" + stringMaxLength + ")");
27+
2528
}
2629

2730
@Override
@@ -52,7 +55,7 @@ public String[] getSqlColumns() {
5255

5356
@Override
5457
public String[] getSqlColumnDefinitions() {
55-
return new String[]{(isStringNative ? "N" : "") + "VARCHAR(" + stringMaxLength + ") NOT NULL"};
58+
return new String[]{sqlType + " NOT NULL"};
5659
}
5760

5861
@Override

storage/simple/src/main/java/me/hsgamer/topper/storage/simple/converter/StringConverter.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
import java.util.function.Function;
44

55
public class StringConverter extends SimpleValueConverter<String> {
6-
public StringConverter(String valueName, boolean isStringNative, int stringMaxLength) {
7-
super(Function.identity(), Function.identity(), valueName, isStringNative, stringMaxLength);
6+
public StringConverter(String valueName, String sqlType) {
7+
super(Function.identity(), Function.identity(), valueName, sqlType);
8+
}
9+
10+
public StringConverter(String valueName, boolean isStringNationalized, int stringMaxLength) {
11+
super(Function.identity(), Function.identity(), valueName, isStringNationalized, stringMaxLength);
812
}
913
}

0 commit comments

Comments
 (0)