org.deegree.feature.types
Interface FeatureType

All Known Subinterfaces:
FeatureCollectionType
All Known Implementing Classes:
DynamicFeatureType, GenericFeatureCollectionType, GenericFeatureType

public interface FeatureType

Provides the type information for an (application-defined) class of Features.

Version:
$Revision:$, $Date:$
Author:
Markus Schneider , last edited by: $Author:$

Method Summary
 GeometryPropertyType getDefaultGeometryPropertyDeclaration()
          Returns the first geometry property declaration of the feature type.
 QName getName()
          Returns the name that features of this type have.
 PropertyType getPropertyDeclaration(QName propName)
          Returns the declaration of the property with the given name.
 PropertyType getPropertyDeclaration(QName propName, GMLVersion version)
          Returns the declaration of the property with the given name.
 List<PropertyType> getPropertyDeclarations()
          Returns all property declarations of the feature type, excluding those that any GML feature allows for.
 List<PropertyType> getPropertyDeclarations(GMLVersion version)
          Returns all property declarations of the feature type, including those that any GML feature allows for.
 AppSchema getSchema()
          Returns the AppSchema that this feature type belongs to.
 boolean isAbstract()
          Returns whether this type is abstract or not.
 Feature newFeature(String fid, List<Property> props, ExtraProps extraProps, GMLVersion version)
          Creates a new Feature instance (that is of this type).
 

Method Detail

getName

QName getName()
Returns the name that features of this type have.

In the GML representation, this corresponds to the feature's element name.

Returns:
the name of the feature instance

getPropertyDeclaration

PropertyType getPropertyDeclaration(QName propName)
Returns the declaration of the property with the given name.

Parameters:
propName - name of the property
Returns:
the declaration of the property, or null if no such property is defined

getPropertyDeclaration

PropertyType getPropertyDeclaration(QName propName,
                                    GMLVersion version)
Returns the declaration of the property with the given name.

Parameters:
propName - name of the property
version - GML version that determines the standard GML properties, must not be null
Returns:
the declaration of the property, or null if no such property is defined

getPropertyDeclarations

List<PropertyType> getPropertyDeclarations()
Returns all property declarations of the feature type, excluding those that any GML feature allows for.

Returns:
property declarations (in order)

getPropertyDeclarations

List<PropertyType> getPropertyDeclarations(GMLVersion version)
Returns all property declarations of the feature type, including those that any GML feature allows for.

Parameters:
version - GML version that determines the standard GML properties, must not be null
Returns:
property declarations (in order)

getDefaultGeometryPropertyDeclaration

GeometryPropertyType getDefaultGeometryPropertyDeclaration()
Returns the first geometry property declaration of the feature type.

Returns:
first geometry property declaration or null if no such declaration exists

isAbstract

boolean isAbstract()
Returns whether this type is abstract or not.

Returns:
true, if this feature type is abstract, false otherwise

newFeature

Feature newFeature(String fid,
                   List<Property> props,
                   ExtraProps extraProps,
                   GMLVersion version)
Creates a new Feature instance (that is of this type).

Parameters:
fid - feature id, or null if the feature doesn't have an id
props - properties
extraProps - properties that are not defined by the FeatureType (e.g. rendering hints)
version - determines the names and types of the standard GML properties, can be null (no GML properties)
Returns:
a new Feature instance

getSchema

AppSchema getSchema()
Returns the AppSchema that this feature type belongs to.

Returns:
the corresponding ApplicationSchema or null if this feature type has none


Copyright © 2011. All Rights Reserved.