mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-20 04:24:13 +00:00
chore[orm]: simplify MapKeyCodec method
This commit is contained in:
@@ -34,9 +34,7 @@ public class BaseTypeKeyMapCodec<K,V> implements Codec<Map<K, V>> {
|
||||
for (var entry : map.entrySet()) {
|
||||
var key = entry.getKey();
|
||||
var value = entry.getValue();
|
||||
MapKeyCodec<K> codec = (MapKeyCodec<K>) BaseTypeEnum.getCodec(keyCodec.getEncoderClass());
|
||||
String keyValue = codec.encode(key);
|
||||
writer.writeName(keyValue);
|
||||
writer.writeName(key.toString());
|
||||
if (value == null) {
|
||||
writer.writeNull();
|
||||
} else {
|
||||
|
||||
@@ -6,17 +6,8 @@ package com.zfoo.orm.codec;
|
||||
* @Date:2024/6/17 13:51
|
||||
*/
|
||||
public interface MapKeyCodec<K> {
|
||||
/**
|
||||
* 编码
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
String encode(K value);
|
||||
|
||||
/**
|
||||
* 解析
|
||||
* @param text
|
||||
* @return
|
||||
*/
|
||||
K decode(String text);
|
||||
K decode(String key);
|
||||
}
|
||||
|
||||
@@ -7,31 +7,9 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
* @Date:2024/6/17 11:32
|
||||
*/
|
||||
public class BooleanMapCodec implements MapKeyCodec<Boolean> {
|
||||
|
||||
|
||||
@Override
|
||||
public String encode(Boolean value) {
|
||||
return value ? "True" : "False";
|
||||
public Boolean decode(String key) {
|
||||
return Boolean.valueOf(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean decode(String text) {
|
||||
if (text == null) {
|
||||
throw new java.lang.NullPointerException();
|
||||
} else if (isValidName(true, text)) {
|
||||
return true;
|
||||
} else if (isValidName(false, text)) {
|
||||
return false;
|
||||
} else {
|
||||
throw new java.lang.IllegalArgumentException(text);
|
||||
}
|
||||
}
|
||||
|
||||
private String getValidName(boolean value) {
|
||||
return value ? "True" : "False";
|
||||
}
|
||||
|
||||
private boolean isValidName(boolean value, String name) {
|
||||
return getValidName(value).equalsIgnoreCase(name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,7 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
*/
|
||||
public class ByteMapCodec implements MapKeyCodec<Byte> {
|
||||
@Override
|
||||
public String encode(Byte value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Byte decode(String text) {
|
||||
return (text == null) ? null : Byte.decode(text);
|
||||
public Byte decode(String key) {
|
||||
return Byte.valueOf(key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.zfoo.orm.codec.basetype;
|
||||
|
||||
import com.zfoo.orm.codec.MapKeyCodec;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
|
||||
/**
|
||||
@@ -9,17 +8,10 @@ import org.springframework.util.StringUtils;
|
||||
* @Date:2024/6/17 11:34
|
||||
*/
|
||||
public class CharacterMapCodec implements MapKeyCodec<Character> {
|
||||
@Override
|
||||
public String encode(Character value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Character decode(String text) {
|
||||
if (!StringUtils.hasLength(text)) {
|
||||
return null;
|
||||
} else {
|
||||
return text.charAt(0);
|
||||
}
|
||||
public Character decode(String key) {
|
||||
return key.charAt(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,12 +9,7 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
public class DoubleMapCodec implements MapKeyCodec<Double> {
|
||||
|
||||
@Override
|
||||
public String encode(Double value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double decode(String text) {
|
||||
return (text == null) ? null : Double.valueOf(text);
|
||||
public Double decode(String key) {
|
||||
return Double.valueOf(key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,7 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
public class FloatMapCodec implements MapKeyCodec<Float> {
|
||||
|
||||
@Override
|
||||
public String encode(Float value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Float decode(String text) {
|
||||
return (text == null) ? null : Float.valueOf(text);
|
||||
public Float decode(String key) {
|
||||
return Float.valueOf(key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,14 +10,8 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
*/
|
||||
public class IntMapCodec implements MapKeyCodec<Integer> {
|
||||
|
||||
|
||||
@Override
|
||||
public String encode(Integer value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer decode(String text) {
|
||||
return (text == null) ? null : Integer.parseInt(text);
|
||||
public Integer decode(String key) {
|
||||
return Integer.valueOf(key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,14 +10,8 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
*/
|
||||
public class LongMapCodec implements MapKeyCodec<Long> {
|
||||
|
||||
|
||||
@Override
|
||||
public String encode(Long value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long decode(String text) {
|
||||
return (text == null) ? null : Long.parseLong(text);
|
||||
public Long decode(String key) {
|
||||
return Long.valueOf(key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,12 +8,7 @@ import com.zfoo.orm.codec.MapKeyCodec;
|
||||
*/
|
||||
public class ShortMapCodec implements MapKeyCodec<Short> {
|
||||
@Override
|
||||
public String encode(Short value) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Short decode(String text) {
|
||||
return (text == null) ? null : Short.parseShort(text);
|
||||
public Short decode(String key) {
|
||||
return Short.valueOf(key);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user