
net.anwiba.spatial.topo.json.v01_0.Geometry Maven / Gradle / Ivy
//Copyright (c) 2017 by Andreas W. Bartels
package net.anwiba.spatial.topo.json.v01_0;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(Point.class),
@JsonSubTypes.Type(LineString.class),
@JsonSubTypes.Type(Polygon.class),
@JsonSubTypes.Type(MultiPoint.class),
@JsonSubTypes.Type(MultiLineString.class),
@JsonSubTypes.Type(MultiPolygon.class),
@JsonSubTypes.Type(GeometryCollection.class)
})
public class Geometry {
private final String type = "Geometry";
private Object id = null;
private Properties properties = null;
private final Map _unknownMembers = new LinkedHashMap();
@JsonIgnore
public void setType(final String type) {
}
@JsonIgnore
public String getType() {
return this.type;
}
@JsonProperty("id")
public void setId(final Object id) {
this.id = id;
}
@JsonProperty("id")
public Object getId() {
return this.id;
}
@JsonProperty("properties")
public void setProperties(final Properties properties) {
this.properties = properties;
}
@JsonProperty("properties")
public Properties getProperties() {
return this.properties;
}
@JsonAnySetter
public void set(final java.lang.String name, final java.lang.Object value) {
Objects.requireNonNull(name);
this._unknownMembers.put(name, value);
}
@JsonAnyGetter
public Map get() {
if (this._unknownMembers.isEmpty()) {
return null;
}
return this._unknownMembers;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy