Class FeatureTypeTransformer


  • public class FeatureTypeTransformer
    extends TransformerBase
    Transformer that transforms feature types into (hopefully) valid XML schemas. This class may be used by geoserver in the future to automatically create XML schemas for the DescribeFeatureType request.
       FeatureType type = ...; // you have it from somewhere
       FeatureTypeTransformer t = new FeatureTypeTransformer();
       t.transform(type, System.out);
     
    The following table lists the mapping between java types and xml schema data types for attribute types.
    Java XML Schema
    String xs:string
    Byte xs:byte
    Short xs:short
    Integer xs:int
    Long xs:long
    BigInteger xs:integer
    BigDecimal xs:decimal
    java.util.Date xs:dateTime
    java.sql.Date xs:date
    java.sql.Time xs:time
    java.sql.Timestamp xs:dateTime
    java.lang.Boolean xs:boolean
    org.locationtech.jts.geom.Point gml:PointPropertyType
    org.locationtech.jts.geom.LineString gml:LineStringPropertyType
    org.locationtech.jts.geom.Polygon gml:PolygonPropertyType
    org.locationtech.jts.geom.MultiPoint gml:MultiPointPropertyType
    org.locationtech.jts.geom.MultiLineString gml:MutliLineStringPropertyType
    org.locationtech.jts.geom.MultiPolygon gml:MultiPolygonPropertyType
    org.geotools.data.Feature gml:AbstractFeatureType
    Author:
    Simon Raess
    TODO:
    TODO: Support GeometryCollection., REVISIT: Should support a bit more for the header, like being able to set the schemaLocation. It also should declare and import the gml namespace - it's always used as all extend gml:AbstractFeatureType. Also should be able to set the global substitution group, so that this type can be used directly as a feature.
    • Constructor Detail

      • FeatureTypeTransformer

        public FeatureTypeTransformer()
    • Method Detail

      • createTranslator

        public Translator createTranslator​(ContentHandler handler)
        Creates a Translator that is capable to translate FeatureType objects into a XML schema fragment.
        Specified by:
        createTranslator in class TransformerBase
        Parameters:
        handler - the content handler to use