/** * Copyright (c) Codice Foundation * * This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser * General Public License as published by the Free Software Foundation, either version 3 of the * License, or any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. A copy of the GNU Lesser General Public License * is distributed along with this program and can be found at * <http://www.gnu.org/licenses/lgpl.html>. * **/ package org.codice.ddf.spatial.ogc.wfs.v2_0_0.catalog.common; import java.util.Arrays; import java.util.List; import javax.xml.namespace.QName; import org.codice.ddf.spatial.ogc.wfs.catalog.common.WfsConstants; /** * Constants for WFS services and requests. * */ public class Wfs20Constants extends WfsConstants { /* Request Names */ public static final String GET_CAPABILITIES = "GetCapabilities"; public static final String GET_PROPERTY_VALUE = "GetPropertyValue"; public static final String DESCRIBE_FEATURE_TYPE = "DescribeFeatureType"; public static final String GET_FEATURE = "GetFeature"; /* Version Numbers */ public static final String VERSION_2_0_0 = "2.0.0"; /* Service Names */ public static final String WFS_2_0_NAMESPACE = "http://www.opengis.net/wfs/2.0"; public static final String GML_2_1_2_NAMESPACE = "http://www.opengis.net/gml"; public static final String GML_3_2_NAMESPACE = "http://www.opengis.net/gml/3.2"; public static final String WFS_SCHEMA_LOCATION = "/ogc/wfs/2.0.0/wfs.xsd"; /* Namespaces */ public static final String OGC_WFS_PACKAGE = "net.opengis.wfs.v_2_0_0"; public static final String OGC_FILTER_PACKAGE = "net.opengis.filter.v_2_0_0"; public static final String OGC_GML_PACKAGE = "net.opengis.gml.v_3_2_1"; public static final String OGC_OWS_PACKAGE = "net.opengis.ows.v_1_1_0"; public static final String TIME_PERIOD = "TimePeriod"; public static final String TIME_INSTANT = "TimeInstant"; public static final QName POLYGON = new QName(GML_3_2_NAMESPACE, "Polygon"); public static final QName ENVELOPE = new QName(GML_3_2_NAMESPACE, "Envelope"); public static final QName BOX = new QName(GML_3_2_NAMESPACE, "Box"); public static final QName LINESTRING = new QName(GML_3_2_NAMESPACE, "LineString"); public static final QName POINT = new QName(GML_3_2_NAMESPACE, "Point"); public static final QName GEOMETRY_COLLECTION = new QName(GML_3_2_NAMESPACE, "GeometryCollection"); public static final QName MULTI_POINT = new QName(GML_3_2_NAMESPACE, "MultiPoint"); public static final QName MULTI_LINE_STRING = new QName(GML_3_2_NAMESPACE, "MultiLineString"); public static final QName MULTI_POLYGON = new QName(GML_3_2_NAMESPACE, "MultiPolygon"); public static final List<QName> GEOMETRY_QNAMES = Arrays .asList(POINT, ENVELOPE, POLYGON, LINESTRING, GEOMETRY_COLLECTION, MULTI_LINE_STRING, MULTI_POINT, MULTI_POLYGON); public static enum SPATIAL_OPERATORS { BBOX("BBOX"), Beyond("Beyond"), Contains("Contains"), Crosses("Crosses"), Disjoint( "Disjoint"), DWithin("DWithin"), Intersects("Intersects"), Equals( "Equals"), Overlaps("Overlaps"), Touches("Touches"), Within("Within"); private String value; SPATIAL_OPERATORS(String value) { this.value = value; } public String getValue() { return value; } } public static enum CONFORMANCE_CONSTRAINTS { ImplementsQuery("ImplementsQuery"), ImplementsAdHocQuery( "ImplementsAdHocQuery"), ImplementsFunctions( "ImplementsFunctions"), ImplementsResourceld( "ImplementsResourceld"), ImplementsMinStandardFilter( "ImplementsMinStandardFilter"), ImplementsStandardFilter( "ImplementsStandardFilter"), ImplementsMinSpatialFilter( "ImplementsMinSpatialFilter"), ImplementsSpatialFilter( "ImplementsSpatialFilter"), ImplementsMinTemporalFilter( "ImplementsMinTemporalFilter"), ImplementsTemporalFilter( "ImplementsTemporalFilter"), ImplementsVersionNav( "ImplementsVersionNav"), ImplementsSorting( "ImplementsSorting"), ImplementsExtendedOperators( "ImplementsExtendedOperators"), ImplementsMinimumXPath( "ImplementsMinimumXPath"), ImplementsSchemaElementFunc( "ImplementsSchemaElementFunc"), ImplementsResourceId("ImplementsResourceId"); private String value; CONFORMANCE_CONSTRAINTS(String value) { this.value = value; } public String getValue() { return value; } } public static enum COMPARISON_OPERATORS { PropertyIsEqualTo("PropertyIsEqualTo"), PropertyIsNotEqualTo( "PropertyIsNotEqualTo"), PropertyIsLessThan( "PropertyIsLessThan"), PropertyIsGreaterThan( "PropertyIsGreaterThan"), PropertyIsLessThanOrEqualTo( "PropertyIsLessThanOrEqualTo"), PropertyIsGreaterThanOrEqualTo( "PropertyIsGreaterThanOrEqualTo"), PropertyIsLike("PropertyIsLike"), PropertyIsNull( "PropertyIsNull"), PropertyIsNil("PropertyIsNil"), PropertyIsBetween( "PropertyIsBetween"); private String value; COMPARISON_OPERATORS(String value) { this.value = value; } public String getValue() { return value; } } public static enum TEMPORAL_OPERATORS { After("After"), Before("Before"), Begins("Begins"), BegunBy("BegunBy"), TContains( "TContains"), During("During"), TEquals("TEquals"), TOverlaps("TOverlaps"), Meets( "Meets"), OverlappedBy("OverlappedBy"), MetBy("MetBy"), Ends("Ends"), EndedBy( "EndedBy"); private String value; TEMPORAL_OPERATORS(String value) { this.value = value; } public String getValue() { return value; } } }