hydraql.shaded.fastjson2.reader.ObjectReaderImplLocale Maven / Gradle / Ivy
The newest version!
package hydraql.shaded.fastjson2.reader;
import hydraql.shaded.fastjson2.JSONReader;
import java.lang.reflect.Type;
import java.util.Locale;
class ObjectReaderImplLocale
extends ObjectReaderPrimitive {
static final ObjectReaderImplLocale INSTANCE = new ObjectReaderImplLocale();
ObjectReaderImplLocale() {
super(Locale.class);
}
@Override
public Object readJSONBObject(JSONReader jsonReader, Type fieldType, Object fieldName, long features) {
String strVal = jsonReader.readString();
if (strVal == null || strVal.isEmpty()) {
return null;
}
String[] items = strVal.split("_");
if (items.length == 1) {
return new Locale(items[0]);
}
if (items.length == 2) {
return new Locale(items[0], items[1]);
}
return new Locale(items[0], items[1], items[2]);
}
@Override
public Object readObject(JSONReader jsonReader, Type fieldType, Object fieldName, long features) {
String strVal = jsonReader.readString();
if (strVal == null || strVal.isEmpty()) {
return null;
}
String[] items = strVal.split("_");
if (items.length == 1) {
return new Locale(items[0]);
}
if (items.length == 2) {
return new Locale(items[0], items[1]);
}
return new Locale(items[0], items[1], items[2]);
}
}