com.moximedia.ows.wfs
Class WfsLayer

java.lang.Object
  extended bycom.moximedia.ows.wfs.WfsLayer
All Implemented Interfaces:
GeometryType, Layer, LayerIdentifyType, LayerType, java.io.Serializable

public class WfsLayer
extends java.lang.Object
implements Layer, LayerType, GeometryType, LayerIdentifyType, java.io.Serializable

Implementation of a WFS layer. In IMF, a WFS layer is used to support the queries of associated WMS layers.

Author:
Doug Cates - www.moximedia.com
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.moximedia.ows.types.LayerType
LAYER_TYPE_ACETATE, LAYER_TYPE_WFS, LAYER_TYPE_WMS
 
Fields inherited from interface com.moximedia.ows.types.GeometryType
GEOMETRY_TYPE_COLLECTION, GEOMETRY_TYPE_ENVELOPE, GEOMETRY_TYPE_LINE, GEOMETRY_TYPE_MULTILINE, GEOMETRY_TYPE_MULTIPOINT, GEOMETRY_TYPE_MULTIPOLYGON, GEOMETRY_TYPE_POINT, GEOMETRY_TYPE_POLYGON, GEOMETRY_TYPE_UNKNOWN
 
Fields inherited from interface com.moximedia.ows.types.LayerIdentifyType
LAYER_IDENTIFY_TYPE_DEFAULT, LAYER_IDENTIFY_TYPE_NONE, LAYER_IDENTIFY_TYPE_URL_APPEND_FIELD_VALUE, LAYER_IDENTIFY_TYPE_URL_FIELD_VALUES, LAYER_IDENTIFY_TYPE_URL_INSERT_FIELD_VALUE, LAYER_IDENTIFY_TYPE_URL_MULTIPLE_FIELD_VALUES
 
Constructor Summary
WfsLayer()
          Creates a new WfsLayer object.
WfsLayer(WfsService service)
          Creates a new WfsLayer object.
 
Method Summary
 void addSymbolizer(Symbolizer symbolizer)
          Adds a symbolizer to the layer for rendering.
 void clearSymbolizer()
          Clears the symbolizers for this layer.
 boolean getCanCopy()
          Returns an indicator of whether the layer can be used as a copy layer with the editing tools.
 boolean getCanDrillIdentify()
          Gets a boolean value indicating whether the layer can be identified using the drill down identify tool.
 boolean getCanEdit()
          Returns an indicator of whether the layer can be edited using the editing tools.
 boolean getCanIdentify()
          Gets a boolean value indicating whether a feature layer can be identified.
 boolean getCanSetVisibility()
          Gets a boolean value indicating whether the layer can be turned on and off by the user.
 boolean getCanSnapTo()
          Returns an indicator of whether the layer can be used as a snap layer with the editing tools.
 DescribeFeatureType getDescribeFeatureType()
          Returns an object containing the results of a WFS DescribeFeatureType request.
 java.lang.String getEncodedName()
          Gets the UTF-8 encoded name for this WFS layer.
 Envelope getFeatureCacheExtent()
          Gets the extent of the features in the cache.
 Recordset getFeatureset()
          Gets the records in the feature set.
 java.lang.String getGeometryFieldName()
          Returns the name of the geometry field.
 int getGeometryType()
          Gets the geometry type enumerator, if one is set for this layer.
 java.lang.String getGeometryTypeName()
          Gets the geometry type string, if one is set for this layer.
 java.lang.String getId()
          Gets the user defined id for this layer.
 java.lang.String getIdentifyHandler()
          Returns the URL of the identify handler.
 java.lang.String getIdentifySuffix()
          Gets the suffix used in the append type of identify handler.
 int getIdentifyType()
          Gets the identify type enumerator.
 boolean getIdentifyWindow()
          Returns whether the identify report should open in a popup window.
 boolean getImmediateRefresh()
          Returns an indicator of whether the map should immediately refresh when the layer's visibility is changed.
 LayerListLegends getLayerListLegends()
          Gets the layer list legends object for this layer, or null if there are no layer list legends.
 int getLayerType()
          Get the layer type enumerator.
 java.lang.String getLegendUrl()
          Gets the URL to the legend for this layer.
 double getMaxScale()
          Gets the maximum scale at which the feature layer will be displayed.
 java.lang.String getMetadataUrl()
          Gets the URL for metadata associated with this layer.
 double getMinScale()
          Gets the minimum scale at which the feature layer will be displayed.
 java.lang.String getName()
          Gets the name of this layer.
 int getObjectId()
          Returns the IMF internal id for this folder.
 java.lang.Object getObjectTag()
          Gets the object tag.
 Projection getProjection()
          Gets the projection of this layer.
 java.lang.String getProperty(java.lang.String name)
          Gets the value of a property set in the configuration XML using a <PROPERTY> element.
 boolean getQueryable()
          Retuns an indicator of whether this layer is queryable.
 Recordset getRecordset()
          Gets this layer's recordset containing query results.
 Service getService()
          Gets the service that this layer belongs to.
 java.lang.String getSrs()
          Gets the spatial reference system for this layer.
 java.lang.String getTitle()
          Gets the user title for this layer.
 int getTransparency()
          Gets the transparency of this layer, as a percentage.
 boolean getTransparent()
          Reports whether the layer should be drawn transparent.
 boolean getVisible()
          Returns an indicator of whether this layer is visible.
 boolean hasGeometry()
          Returns an indicator of whether the layer has geometry.
 boolean isNamed(java.lang.String name)
          Checks to see if the name of this layer is that specified.
 boolean isObjectId(int id)
          Checks to see if the object id of this layer is that specified.
 boolean isTitled(java.lang.String title)
          Checks to see if the title of this layer is that specified.
 boolean isWithinScaleThreshold(double scale)
          Returns whether this layer is within threshold tolerance.
 void removeProperty(java.lang.String name)
          Removes the specified property.
 void setCanSetVisibility(boolean canSetVisibility)
          Sets whether the layer can be turned on and off by the user.
 void setDescribeFeatureType(DescribeFeatureType dft)
          Sets the feature type definitions for this layer.
 void setFeatureCacheExtent(Envelope extent)
          Sets the extent of cached features.
 void setGeometryType(int type)
          Sets the layer's geometry type using an enumerator.
 void setGeometryType(java.lang.String type)
          Sets the layer's geometry type using a String.
 void setId(java.lang.String id)
          Sets the user defined id for this layer.
 void setIdentifyType(java.lang.String type)
          Sets the identify type using a string.
 void setLayerListLegends(LayerListLegends legends)
          Sets the layer list legends object for this layer.
 void setMaxScale(double scale)
          Sets the maximum scale that this layer is visible.
 void setMetadataUrl(java.lang.String href)
          Sets the URL for metadata associated to this layer.
 void setMinScale(double scale)
          Sets the minimum scale that this layer is visible.
 void setName(java.lang.String name)
          Sets the internal name of this layer, not the title displayed to the user.
 void setObjectTag(java.lang.Object tag)
          Sets an object tag for this object.
 void setProjection(Projection projection)
          Sets the projection for this layer.
 void setProperty(java.lang.String name, java.lang.String value)
          Sets the value of a property (programmer defined).
 void setService(Service service)
          Sets the WFS service associated with this layer.
 void setSrs(java.lang.String srs)
          Sets the spatial reference system SRS of this layer.
 void setSymbolizer(Symbolizer symbolizer)
          Sets the symbolizer used for this layer.
 void setTitle(java.lang.String title)
          Sets the user visible title for this layer.
 void setTransparency(int percentTransparent)
          Sets the transparency of this layer, as a percentage.
 void setTransparent(boolean isTransparent)
          Sets whether the layer should be drawn transparent.
 void setVisible(boolean isVisible)
          Sets whether this layer is visible.
 void setXmlAttribute(Map map, java.lang.String element, java.lang.String name, java.lang.String value, java.lang.String frameworkPath, java.lang.String mapConfigPath)
          Sets one of the attributes of this object using a string value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WfsLayer

public WfsLayer()
Creates a new WfsLayer object.


WfsLayer

public WfsLayer(WfsService service)
Creates a new WfsLayer object.

Parameters:
service - The service that this layer belongs to.
Method Detail

getDescribeFeatureType

public DescribeFeatureType getDescribeFeatureType()
Returns an object containing the results of a WFS DescribeFeatureType request.

Returns:
The object containing feature type definitions.

setDescribeFeatureType

public void setDescribeFeatureType(DescribeFeatureType dft)
Sets the feature type definitions for this layer.

Parameters:
dft - The feature type definition object.

getId

public java.lang.String getId()
Gets the user defined id for this layer.

Specified by:
getId in interface Layer
Returns:
The user defined id.

setId

public void setId(java.lang.String id)
Sets the user defined id for this layer.

Specified by:
setId in interface Layer
Parameters:
id - The user defined id.

getLayerListLegends

public LayerListLegends getLayerListLegends()
Gets the layer list legends object for this layer, or null if there are no layer list legends.

Specified by:
getLayerListLegends in interface Layer
Returns:
The layer list legends object for this layer.

setLayerListLegends

public void setLayerListLegends(LayerListLegends legends)
Sets the layer list legends object for this layer.

Specified by:
setLayerListLegends in interface Layer
Parameters:
legends - The layer list legends object to set for this layer.

addSymbolizer

public void addSymbolizer(Symbolizer symbolizer)
Adds a symbolizer to the layer for rendering.

Parameters:
symbolizer - The symbolizer.

clearSymbolizer

public void clearSymbolizer()
Clears the symbolizers for this layer.


getCanCopy

public boolean getCanCopy()
Returns an indicator of whether the layer can be used as a copy layer with the editing tools.

Returns:
True if the layer can be copied from, otherwise false.

getCanEdit

public boolean getCanEdit()
Returns an indicator of whether the layer can be edited using the editing tools.

Returns:
True if the layer can be edited, otherwise false.

getCanSnapTo

public boolean getCanSnapTo()
Returns an indicator of whether the layer can be used as a snap layer with the editing tools.

Returns:
True if the layer can be snapped to, otherwise false.

getGeometryFieldName

public java.lang.String getGeometryFieldName()
Returns the name of the geometry field.

Returns:
Te name of the geometry field.

getGeometryType

public int getGeometryType()
Gets the geometry type enumerator, if one is set for this layer.

Specified by:
getGeometryType in interface Layer
Returns:
The geometry type enumerator.

getGeometryTypeName

public java.lang.String getGeometryTypeName()
Gets the geometry type string, if one is set for this layer.

Returns:
The geometry type string.

hasGeometry

public boolean hasGeometry()
Returns an indicator of whether the layer has geometry.

Returns:
Always returns true for WFS layers.

getCanSetVisibility

public boolean getCanSetVisibility()
Gets a boolean value indicating whether the layer can be turned on and off by the user.

Specified by:
getCanSetVisibility in interface Layer
Returns:
True if the layer can be controlled, otherwise false.

setCanSetVisibility

public void setCanSetVisibility(boolean canSetVisibility)
Sets whether the layer can be turned on and off by the user.

Parameters:
canSetVisibility - True if the layer can be controlled, otherwise false.

getCanDrillIdentify

public boolean getCanDrillIdentify()
Gets a boolean value indicating whether the layer can be identified using the drill down identify tool.

Specified by:
getCanDrillIdentify in interface Layer
Returns:
True if the layer can be identified using the drill down identify tool, otherwise false.

getCanIdentify

public boolean getCanIdentify()
Gets a boolean value indicating whether a feature layer can be identified.

Specified by:
getCanIdentify in interface Layer
Returns:
True if the layer can be identified, otherwise false.

getEncodedName

public java.lang.String getEncodedName()
Gets the UTF-8 encoded name for this WFS layer.

Returns:
The encoded name.

getFeatureCacheExtent

public Envelope getFeatureCacheExtent()
Gets the extent of the features in the cache. Used when rendering WFS layers directly. Not presently used.

Returns:
The extent of the cached features.

getFeatureset

public Recordset getFeatureset()
Gets the records in the feature set. Used when rendering WFS layers directly. Not presently used.

Returns:
The recordset.

getIdentifyHandler

public java.lang.String getIdentifyHandler()
Returns the URL of the identify handler. Used when rendering WFS layers directly. Not presently used.

Specified by:
getIdentifyHandler in interface Layer
Returns:
The URL of the identify handler.

getIdentifySuffix

public java.lang.String getIdentifySuffix()
Gets the suffix used in the append type of identify handler. Used when rendering WFS layers directly. Not presently used. The suffix is added to the URL created.

Specified by:
getIdentifySuffix in interface Layer
Returns:
The suffix, if any.

getIdentifyType

public int getIdentifyType()
Gets the identify type enumerator. See com.moximedia.ows.types.LayerIdentifyType. Used when rendering WFS layers directly. Not presently used.

Specified by:
getIdentifyType in interface Layer
Returns:
The identify type enumerator.

getIdentifyWindow

public boolean getIdentifyWindow()
Returns whether the identify report should open in a popup window. Used when rendering WFS layers directly. Not presently used.

Specified by:
getIdentifyWindow in interface Layer
Returns:
True if it should open in a popup, otherwise false.

getImmediateRefresh

public boolean getImmediateRefresh()
Returns an indicator of whether the map should immediately refresh when the layer's visibility is changed. Used when rendering WFS layers directly. Not presently used.

Specified by:
getImmediateRefresh in interface Layer
Returns:
True if it should refresh immediately, otherwise false.

getLayerType

public int getLayerType()
Get the layer type enumerator.

Specified by:
getLayerType in interface Layer
Returns:
Always returns com.moximedia.ows.types.LayerType.LAYER_TYPE_WFS.

getLegendUrl

public java.lang.String getLegendUrl()
Gets the URL to the legend for this layer. Used when rendering WFS layers directly. Not presently used.

Specified by:
getLegendUrl in interface Layer
Returns:
The URL of the legend, if any.

getMaxScale

public double getMaxScale()
Gets the maximum scale at which the feature layer will be displayed. Used when rendering WFS layers directly. Not presently used.

Specified by:
getMaxScale in interface Layer
Returns:
The maximum scale at which the feature layer will be displayed.

getMinScale

public double getMinScale()
Gets the minimum scale at which the feature layer will be displayed. Used when rendering WFS layers directly. Not presently used.

Specified by:
getMinScale in interface Layer
Returns:
The minimum scale at which the feature layer will be displayed.

getMetadataUrl

public java.lang.String getMetadataUrl()
Gets the URL for metadata associated with this layer. Used when rendering WFS layers directly. Not presently used.

Specified by:
getMetadataUrl in interface Layer
Returns:
The URL of the metadata, or null.

getName

public java.lang.String getName()
Gets the name of this layer. The name is used for communicating to the WFS server.

Specified by:
getName in interface Layer
Returns:
The name of the layer (not the title).

getObjectId

public int getObjectId()
Returns the IMF internal id for this folder.

Specified by:
getObjectId in interface Layer
Returns:
The internal id for the folder.

setObjectTag

public void setObjectTag(java.lang.Object tag)
Sets an object tag for this object.

Specified by:
setObjectTag in interface Layer
Parameters:
tag - A programmer defined element to associate with this object.

getObjectTag

public java.lang.Object getObjectTag()
Gets the object tag.

Specified by:
getObjectTag in interface Layer
Returns:
The object tag, or null if there isn't one set.

getProperty

public java.lang.String getProperty(java.lang.String name)
Gets the value of a property set in the configuration XML using a <PROPERTY> element.

Specified by:
getProperty in interface Layer
Parameters:
name - The property name
Returns:
The property value, or null.

removeProperty

public void removeProperty(java.lang.String name)
Removes the specified property.

Specified by:
removeProperty in interface Layer
Parameters:
name - The name of the property.

setProperty

public void setProperty(java.lang.String name,
                        java.lang.String value)
Sets the value of a property (programmer defined).

Specified by:
setProperty in interface Layer
Parameters:
name - The property name
value - The property value.

getQueryable

public boolean getQueryable()
Retuns an indicator of whether this layer is queryable.

Returns:
Always returns true.

getRecordset

public Recordset getRecordset()
Gets this layer's recordset containing query results.

Specified by:
getRecordset in interface Layer
Returns:
The recordset object.

getProjection

public Projection getProjection()
Gets the projection of this layer.

Returns:
The projection.

getService

public Service getService()
Gets the service that this layer belongs to.

Specified by:
getService in interface Layer
Returns:
The service.

getSrs

public java.lang.String getSrs()
Gets the spatial reference system for this layer.

Returns:
The SRS code.

getTitle

public java.lang.String getTitle()
Gets the user title for this layer. Used when rendering WFS layers directly. Not presently used.

Specified by:
getTitle in interface Layer
Returns:
The layer title.

getVisible

public boolean getVisible()
Returns an indicator of whether this layer is visible. Used when rendering WFS layers directly. Not presently used.

Specified by:
getVisible in interface Layer
Returns:
True if the layer is visible, otherwise false.

isNamed

public boolean isNamed(java.lang.String name)
Checks to see if the name of this layer is that specified.

Specified by:
isNamed in interface Layer
Parameters:
name - The name to check.
Returns:
True if the name matches, otherwise false.

isObjectId

public boolean isObjectId(int id)
Checks to see if the object id of this layer is that specified.

Specified by:
isObjectId in interface Layer
Parameters:
id - The id to check.
Returns:
True if the object id matches, otherwise false.

isTitled

public boolean isTitled(java.lang.String title)
Checks to see if the title of this layer is that specified. Used when rendering WFS layers directly. Not presently used.

Specified by:
isTitled in interface Layer
Parameters:
title - The title to check.
Returns:
True if the title matches, otherwise false.

isWithinScaleThreshold

public boolean isWithinScaleThreshold(double scale)
Returns whether this layer is within threshold tolerance. Used when rendering WFS layers directly. Not presently used.

Specified by:
isWithinScaleThreshold in interface Layer
Parameters:
scale - The scale to test.
Returns:
True if the layer is shown at the present scale, otherwise false.

setFeatureCacheExtent

public void setFeatureCacheExtent(Envelope extent)
Sets the extent of cached features. Used when rendering WFS layers directly. Not presently used.

Parameters:
extent - The extent of cached features.

setGeometryType

public void setGeometryType(java.lang.String type)
Sets the layer's geometry type using a String.

Parameters:
type - The geometry type name.

setGeometryType

public void setGeometryType(int type)
Sets the layer's geometry type using an enumerator.

Parameters:
type - The geometry type enumerator. See com.moximedia.ows.types.GeometryType.

setIdentifyType

public void setIdentifyType(java.lang.String type)
Sets the identify type using a string. Used when rendering WFS layers directly. Not presently used.

Parameters:
type - The identify type.

setMaxScale

public void setMaxScale(double scale)
Sets the maximum scale that this layer is visible. Used when rendering WFS layers directly. Not presently used.

Specified by:
setMaxScale in interface Layer
Parameters:
scale - The maximum scale.

setMetadataUrl

public void setMetadataUrl(java.lang.String href)
Sets the URL for metadata associated to this layer. Used when rendering WFS layers directly. Not presently used.

Parameters:
href - The URL for metadata associated to this layer.

setMinScale

public void setMinScale(double scale)
Sets the minimum scale that this layer is visible. Used when rendering WFS layers directly. Not presently used.

Specified by:
setMinScale in interface Layer
Parameters:
scale - The minimum scale.

setName

public void setName(java.lang.String name)
Sets the internal name of this layer, not the title displayed to the user. The internal name is used for communication with the service.

Parameters:
name - The name of this layer.

setProjection

public void setProjection(Projection projection)
Sets the projection for this layer. Does not set the SRS.

Specified by:
setProjection in interface Layer
Parameters:
projection - The projection.

setSrs

public void setSrs(java.lang.String srs)
Sets the spatial reference system SRS of this layer. Does not set the projection.

Specified by:
setSrs in interface Layer
Parameters:
srs - The SRS code.

setSymbolizer

public void setSymbolizer(Symbolizer symbolizer)
Sets the symbolizer used for this layer. Used when rendering WFS layers directly. Not presently used.

Parameters:
symbolizer - The symbolizer to render this layer.

setVisible

public void setVisible(boolean isVisible)
Sets whether this layer is visible. Used when rendering WFS layers directly. Not presently used.

Specified by:
setVisible in interface Layer
Parameters:
isVisible - True if the layer should be shown, otherwise false.

setTitle

public void setTitle(java.lang.String title)
Sets the user visible title for this layer. Used when rendering WFS layers directly. Not presently used.

Parameters:
title - The title for the layer.

setTransparent

public void setTransparent(boolean isTransparent)
Sets whether the layer should be drawn transparent.

Parameters:
isTransparent - True if the layer should be drawn transparent, otherwise false.

getTransparent

public boolean getTransparent()
Reports whether the layer should be drawn transparent.

Specified by:
getTransparent in interface Layer
Returns:
True if the layer is drawn transparent, otherwise false.

setService

public void setService(Service service)
Sets the WFS service associated with this layer.

Parameters:
service - The service.

setXmlAttribute

public void setXmlAttribute(Map map,
                            java.lang.String element,
                            java.lang.String name,
                            java.lang.String value,
                            java.lang.String frameworkPath,
                            java.lang.String mapConfigPath)
Sets one of the attributes of this object using a string value. This method should only be called from the SAX event handler.

Specified by:
setXmlAttribute in interface Layer
Parameters:
map - The map that contains this layer.
element - The XML element tag containing this attribute.
name - The XML attribute name.
value - The XML attribute value.
frameworkPath - The URL path to the IMF.
mapConfigPath - The URL path to the location of the map configuration file.

setTransparency

public void setTransparency(int percentTransparent)
Sets the transparency of this layer, as a percentage. Zero is fully opaque, one hundred is fully transparent.

Specified by:
setTransparency in interface Layer

getTransparency

public int getTransparency()
Gets the transparency of this layer, as a percentage. Zero is fully opaque, one hundred is fully transparent.

Specified by:
getTransparency in interface Layer
Returns:
The transparency percent.


Internet Mapping Framework for OpenGIS Java Object Model API (v1.3.007)
Copyright © 2005 Moxi Media Inc. and Province of British Columbia. All Rights Reserved.