FeaturePropertyType.java

  1. package de.turnertech.ows.gml;

  2. import javax.xml.namespace.QName;

  3. import de.turnertech.ows.common.OwsContext;

  4. /**
  5.  * <p>Describes a single feature property, including aspects such as minimum occurences, XSD QNames or possible
  6.  * values etc.</p>
  7.  *
  8.  * <p>For many GML types, there are often multiple entries such as "POINT" and "POINT_TYPE". These have an
  9.  * impact on how GML will be interpreted. e.g. a Property of type POINT "has a" gml:Point as a nested element,
  10.  * whereas POINT_TYPE "is a" gml:Point, simply with a different element name. Be cautious and do not let the
  11.  * GML QName fool you, the naming is often misleading.</p>
  12.  *
  13.  * <p>For more information, lookup the GML Simple Features Profile.</p>
  14.  */
  15. public enum FeaturePropertyType {
  16.    
  17.     ID(false, new QName(OwsContext.XSD_URI, "string")),
  18.     TEXT(false, new QName(OwsContext.XSD_URI, "string")),
  19.     INTEGER(false, new QName(OwsContext.XSD_URI, "integer")),
  20.     DOUBLE(false, new QName(OwsContext.XSD_URI, "double")),
  21.     INSTANT(false, new QName(OwsContext.XSD_URI, "dateTime ")),
  22.     POINT(true, new QName(OwsContext.GML_URI, "PointPropertyType")),
  23.     POINT_TYPE(true, new QName(OwsContext.GML_URI, "Point")),
  24.     POLYGON(true, new QName(OwsContext.GML_URI, "SurfacePropertyType")),
  25.     LINE_STRING(true, new QName(OwsContext.GML_URI, "CurvePropertyType")),
  26.     POLYGON_TYPE(true, new QName(OwsContext.GML_URI, "Polygon")),
  27.     GEOMETRY(true, new QName(OwsContext.GML_URI, "GeometryPropertyType"));

  28.     private final boolean isBoundingBoxProvider;

  29.     private final QName qualifiedName;

  30.     private FeaturePropertyType(final boolean isBoundingBoxProvider, final QName qualifiedName) {
  31.         this.isBoundingBoxProvider = isBoundingBoxProvider;
  32.         this.qualifiedName = qualifiedName;
  33.     }

  34.     public boolean isBoundingBoxProvider() {
  35.         return this.isBoundingBoxProvider;
  36.     }

  37.     public QName getQualifiedName() {
  38.         return qualifiedName;
  39.     }

  40. }