149 lines
3.0 KiB
Java
149 lines
3.0 KiB
Java
package org.gcube.spatial.data.clients.geoserver.model;
|
|
|
|
import java.util.List;
|
|
|
|
import org.gcube.com.fasterxml.jackson.annotation.JsonInclude;
|
|
import org.gcube.com.fasterxml.jackson.annotation.JsonInclude.Include;
|
|
import org.gcube.com.fasterxml.jackson.annotation.JsonProperty;
|
|
import org.gcube.com.fasterxml.jackson.annotation.JsonRootName;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@JsonRootName(value = "featureType")
|
|
@NoArgsConstructor
|
|
public class FeatureTypeInfo {
|
|
|
|
public static enum ProjectionPolicy{
|
|
FORCE_DECLARED
|
|
}
|
|
|
|
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class Namespace{
|
|
private String name;
|
|
private String href;
|
|
}
|
|
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class KeywordSet{
|
|
private List<String> string;
|
|
}
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class MetadataLink{
|
|
private String type;
|
|
private String metadataType;
|
|
private String content;
|
|
}
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class BoundingBox{
|
|
private Number minx;
|
|
private Number maxx;
|
|
private Number miny;
|
|
private Number maxy;
|
|
private String crs;
|
|
}
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class Entry{
|
|
private String key;
|
|
private String value;
|
|
}
|
|
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class Store{
|
|
@JsonProperty("@class")
|
|
private String clazz;
|
|
private String name;
|
|
private String href;
|
|
}
|
|
|
|
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class AttributeList{
|
|
public List<Attribute> attribute;
|
|
}
|
|
|
|
|
|
@Data
|
|
@JsonInclude(Include.NON_NULL)
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
public static class Attribute{
|
|
|
|
private String name;
|
|
private Integer minOccurs;
|
|
private Integer maxOccurs;
|
|
private Boolean nillable;
|
|
private String binding;
|
|
private Integer length;
|
|
}
|
|
|
|
private String name;
|
|
private String nativeName;
|
|
private Namespace namespace;
|
|
private String title;
|
|
|
|
|
|
@JsonProperty("abstract")
|
|
private String abstractField;
|
|
private KeywordSet keywords;
|
|
|
|
|
|
|
|
private List<MetadataLink> metadataLinks;
|
|
private List<MetadataLink> dataLinks;
|
|
|
|
|
|
private String nativeCRS;
|
|
private String srs;
|
|
private BoundingBox nativeBoundingBox;
|
|
private BoundingBox latLonBoundingBox;
|
|
|
|
|
|
private List<Entry> metadata;
|
|
|
|
private Store store;
|
|
|
|
private String cqlFilter;
|
|
private Integer maxFeatures;
|
|
private Number numDecimals;
|
|
private String responseSRS;
|
|
private Boolean overridingServiceSRS;
|
|
private Boolean skipNumberMatched;
|
|
private Boolean circularArcPresent;
|
|
private Number linearizationTolerance;
|
|
|
|
private AttributeList attributes;
|
|
|
|
|
|
private Boolean enabled;
|
|
|
|
|
|
private ProjectionPolicy projectionPolicy;
|
|
}
|