org.deegree.gml.feature
Class FeatureReference

java.lang.Object
  extended by org.deegree.commons.tom.Reference<T>
      extended by org.deegree.commons.tom.gml.GMLReference<Feature>
          extended by org.deegree.gml.feature.FeatureReference
All Implemented Interfaces:
GMLObject, Object, TypedObjectNode, Feature

public class FeatureReference
extends GMLReference<Feature>
implements Feature

A GMLReference that targets a Feature.

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

Constructor Summary
FeatureReference(GMLReferenceResolver resolver, String uri, String baseURL)
          Creates a new FeatureReference instance.
 
Method Summary
 Envelope getEnvelope()
          Returns the envelope of the feature.
 ExtraProps getExtraProperties()
          Returns the extra properties associated with the feature.
 Property[] getGeometryProperties()
          Returns all geometry-valued properties in order.
 StandardGMLFeatureProps getGMLProperties()
          Returns the standard GML properties (e.g.
 QName getName()
          Returns the name of the feature.
 Property[] getProperties()
          Returns all properties in order, excluding standard GML properties such as gml:name.
 Property[] getProperties(GMLVersion version)
          Returns all properties in order, including standard GML properties.
 Property[] getProperties(QName propName)
          Returns the properties with the given name, in order.
 Property[] getProperties(QName propName, GMLVersion version)
          Returns the properties with the given name, in order.
 Property getProperty(QName propName)
          Returns the property with the given name.
 Property getProperty(QName propName, GMLVersion version)
          Returns the property with the given name.
 FeatureType getType()
          Returns the type information for this feature.
 void setExtraProperties(ExtraProps extraProps)
           
 void setId(String id)
          Sets the id of the feature.
 void setProperties(List<Property> props)
          Called during construction to initialize the properties of the feature.
 void setProperties(List<Property> props, GMLVersion version)
          Called during construction to initialize the properties of the feature.
 void setPropertyValue(QName propName, int occurence, TypedObjectNode value)
          Sets the value of a specific occurrence of a property with a given name (or removes the property feature).
 void setPropertyValue(QName propName, int occurence, TypedObjectNode value, GMLVersion version)
          Sets the value of a specific occurrence of a property with a given name (or removes the property from the feature).
 
Methods inherited from class org.deegree.commons.tom.Reference
getId, getReferencedObject, getURI, isLocal, isResolved, resolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.deegree.feature.Feature
getId
 

Constructor Detail

FeatureReference

public FeatureReference(GMLReferenceResolver resolver,
                        String uri,
                        String baseURL)
Creates a new FeatureReference instance.

Parameters:
resolver - used for resolving the reference, must not be null
uri - the feature's uri, must not be null
baseURL - base URL for resolving the uri, may be null (no resolving of relative URLs)
Method Detail

getEnvelope

public Envelope getEnvelope()
Description copied from interface: Feature
Returns the envelope of the feature.

Specified by:
getEnvelope in interface Feature
Returns:
the envelope of the feature, or null if the feature has no envelope information / geometry properties

getGeometryProperties

public Property[] getGeometryProperties()
Description copied from interface: Feature
Returns all geometry-valued properties in order.

Specified by:
getGeometryProperties in interface Feature
Returns:
all geometry properties

getName

public QName getName()
Description copied from interface: Feature
Returns the name of the feature.

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

Specified by:
getName in interface Feature
Returns:
the name of the feature instance, never null

getProperties

public Property[] getProperties()
Description copied from interface: Feature
Returns all properties in order, excluding standard GML properties such as gml:name.

Specified by:
getProperties in interface Feature
Returns:
all properties, excluding standard GML properties, may be empty, but never null

getProperties

public Property[] getProperties(QName propName)
Description copied from interface: Feature
Returns the properties with the given name, in order.

Specified by:
getProperties in interface Feature
Parameters:
propName - name of the requested properties
Returns:
the properties with the given name, in order, may be empty, but never null

getProperty

public Property getProperty(QName propName)
Description copied from interface: Feature
Returns the property with the given name.

Specified by:
getProperty in interface Feature
Parameters:
propName - name of the requested property
Returns:
the property with the given name

getType

public FeatureType getType()
Description copied from interface: Feature
Returns the type information for this feature.

Specified by:
getType in interface Feature
Returns:
the type information, never null

setId

public void setId(String id)
Description copied from interface: Feature
Sets the id of the feature.

In a GML representation of the feature, this corresponds to the gml:id (GML 3 and later) or fid (GML 2) attribute of the feature element.

Specified by:
setId in interface Feature
Parameters:
id - the id of the feature instance, may be null

setProperties

public void setProperties(List<Property> props)
                   throws IllegalArgumentException
Description copied from interface: Feature
Called during construction to initialize the properties of the feature.

Specified by:
setProperties in interface Feature
Throws:
IllegalArgumentException - if the property names or values are not compatible with the feature type

setPropertyValue

public void setPropertyValue(QName propName,
                             int occurence,
                             TypedObjectNode value)
Description copied from interface: Feature
Sets the value of a specific occurrence of a property with a given name (or removes the property feature).

Specified by:
setPropertyValue in interface Feature
Parameters:
propName - property name
occurence - index of the property, starting with zero. If the property is not a multi-property (i.e. maxOccurs=1), this is always zero.
value - new value of the property or null (removes the property)

getProperties

public Property[] getProperties(GMLVersion version)
Description copied from interface: Feature
Returns all properties in order, including standard GML properties.

Specified by:
getProperties in interface Feature
Parameters:
version - determines the names and types of the standard GML properties, must not be null
Returns:
all properties, including standard GML properties, may be empty, but never null

getProperties

public Property[] getProperties(QName propName,
                                GMLVersion version)
Description copied from interface: Feature
Returns the properties with the given name, in order.

Specified by:
getProperties in interface Feature
Parameters:
propName - name of the requested properties
version - determines the names and types of the standard GML properties, must not be null
Returns:
the properties with the given name, in order, may be empty, but never null

getProperty

public Property getProperty(QName propName,
                            GMLVersion version)
Description copied from interface: Feature
Returns the property with the given name.

Specified by:
getProperty in interface Feature
Parameters:
propName - name of the requested property
version - determines the names and types of the standard GML properties, must not be null
Returns:
the property with the given name

setProperties

public void setProperties(List<Property> props,
                          GMLVersion version)
                   throws IllegalArgumentException
Description copied from interface: Feature
Called during construction to initialize the properties of the feature.

Specified by:
setProperties in interface Feature
version - determines the names and types of the standard GML properties, must not be null
Throws:
IllegalArgumentException - if the property names or values are not compatible with the feature type

setPropertyValue

public void setPropertyValue(QName propName,
                             int occurence,
                             TypedObjectNode value,
                             GMLVersion version)
Description copied from interface: Feature
Sets the value of a specific occurrence of a property with a given name (or removes the property from the feature).

Specified by:
setPropertyValue in interface Feature
Parameters:
propName - property name
occurence - index of the property, starting with zero. If the property is not a multi-property (i.e. maxOccurs=1), this is always zero.
value - new value of the property or null (removes the property)
version - determines the names and types of the standard GML properties, must not be null

getGMLProperties

public StandardGMLFeatureProps getGMLProperties()
Description copied from interface: GMLObject
Returns the standard GML properties (e.g. gml:name).

Specified by:
getGMLProperties in interface GMLObject
Specified by:
getGMLProperties in interface Feature
Overrides:
getGMLProperties in class GMLReference<Feature>
Returns:
the standard GML properties, may be

getExtraProperties

public ExtraProps getExtraProperties()
Description copied from interface: Feature
Returns the extra properties associated with the feature.

These properties are not defined by the FeatureType, but provide a generic way to attach information to the Feature (e.g. rendering hints).

Specified by:
getExtraProperties in interface Feature
Returns:
extra properties, may be null

setExtraProperties

public void setExtraProperties(ExtraProps extraProps)
Specified by:
setExtraProperties in interface Feature


Copyright © 2011. All Rights Reserved.