package com.qianwen.core.tool.metadata.types;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
import com.qianwen.core.tool.metadata.Converter;
|
import com.qianwen.core.tool.metadata.DataType;
|
import com.qianwen.core.tool.metadata.FormatSupport;
|
import com.qianwen.core.tool.metadata.ValidateResult;
|
|
/* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/metadata/types/GeoType.class */
|
public class GeoType extends AbstractType<GeoType> implements DataType, FormatSupport, Converter<GeoPoint> {
|
public static final String ID = "geoPoint";
|
public static final GeoType GLOBAL = new GeoType();
|
private String latProperty = "lat";
|
private String lonProperty = "lon";
|
|
public void setLatProperty(final String latProperty) {
|
this.latProperty = latProperty;
|
}
|
|
public void setLonProperty(final String lonProperty) {
|
this.lonProperty = lonProperty;
|
}
|
|
public String getLatProperty() {
|
return this.latProperty;
|
}
|
|
public String getLonProperty() {
|
return this.lonProperty;
|
}
|
|
public GeoType latProperty(String property) {
|
this.latProperty = property;
|
return this;
|
}
|
|
public GeoType lonProperty(String property) {
|
this.lonProperty = property;
|
return this;
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getId() {
|
return ID;
|
}
|
|
@Override // org.springblade.core.tool.metadata.Metadata
|
public String getName() {
|
return "地理位置";
|
}
|
|
public Map<String, Object> convertToMap(Object value) {
|
Map<String, Object> mapGeoPoint = new HashMap<>();
|
GeoPoint point = convert(value);
|
if (point != null) {
|
mapGeoPoint.put("lat", Double.valueOf(point.getLat()));
|
mapGeoPoint.put("lon", Double.valueOf(point.getLon()));
|
}
|
return mapGeoPoint;
|
}
|
|
/* JADX WARN: Can't rename method to resolve collision */
|
@Override // org.springblade.core.tool.metadata.Converter
|
public GeoPoint convert(Object value) {
|
return GeoPoint.of(value);
|
}
|
|
@Override // org.springblade.core.tool.metadata.DataType
|
public ValidateResult validate(Object value) {
|
GeoPoint geoPoint = convert(value);
|
if (geoPoint == null) {
|
return ValidateResult.fail("不支持的Geo格式:" + value);
|
}
|
return ValidateResult.success(geoPoint);
|
}
|
|
@Override // org.springblade.core.tool.metadata.FormatSupport
|
public String format(Object value) {
|
GeoPoint geoPoint = convert(value);
|
return String.valueOf(geoPoint);
|
}
|
}
|