package com.qianwen.core.tool.metadata.unit;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import javax.annotation.Nullable;
|
import com.qianwen.core.tool.utils.StringPool;
|
|
/* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/metadata/unit/JsonValueUnit.class */
|
public class JsonValueUnit implements ValueUnit {
|
private final String symbol;
|
private final String name;
|
|
public JsonValueUnit(final String symbol, final String name) {
|
this.symbol = symbol;
|
this.name = name;
|
}
|
|
@Nullable
|
public static JsonValueUnit of(String jsonStr) {
|
JSONObject json = JSON.parseObject(jsonStr);
|
String symbol = json.getString("symbol");
|
if (null == symbol) {
|
return null;
|
}
|
return new JsonValueUnit(symbol, (String) json.getOrDefault("name", symbol));
|
}
|
|
@Override // org.springblade.core.tool.metadata.unit.ValueUnit
|
public String getSymbol() {
|
return this.symbol;
|
}
|
|
@Override // org.springblade.core.tool.metadata.FormatSupport
|
public Object format(Object value) {
|
if (value == null) {
|
return null;
|
}
|
return value + StringPool.EMPTY + this.symbol;
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getId() {
|
return "custom_" + this.symbol;
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getName() {
|
return this.name;
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getDescription() {
|
return this.symbol;
|
}
|
}
|