|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.data.wfs.v1_1_0.WFSFeatureSource
public class WFSFeatureSource
Simple implementation of FeatureSource for a WFS 1.1 server.
This implementation is really simple in the sense that it delegates all the hard work to the
WFSDataStore
provided.
Constructor Summary | |
---|---|
WFSFeatureSource(WFS_1_1_0_DataStore dataStore,
java.lang.String typeName)
|
Method Summary | |
---|---|
void |
addFeatureListener(FeatureListener listener)
Adds a listener to the list that's notified each time a change to the FeatureStore occurs. |
ReferencedEnvelope |
getBounds()
Gets the bounding box of this datasource. |
ReferencedEnvelope |
getBounds(Query query)
Gets the bounding box of the features that would be returned by this query. |
int |
getCount(Query query)
Gets the number of the features that would be returned by this query. |
DataStore |
getDataStore()
Access to the DataStore implementing this FeatureStore. |
org.geotools.data.wfs.v1_1_0.WFSFeatureCollection |
getFeatures()
Loads all features from the datasource into the return FeatureResults. |
org.geotools.data.wfs.v1_1_0.WFSFeatureCollection |
getFeatures(org.opengis.filter.Filter filter)
Loads features from the datasource into the returned FeatureResults, based on the passed filter. |
org.geotools.data.wfs.v1_1_0.WFSFeatureCollection |
getFeatures(Query query)
Loads features from the datasource into the returned FeatureResults, based on the passed query. |
ResourceInfo |
getInfo()
Returns available metadata for this resource |
org.opengis.feature.type.Name |
getName()
Returns the qualified name for the Features this FeatureSource serves. |
QueryCapabilities |
getQueryCapabilities()
Returns and indication of what query capabilities this FeatureSource supports natively. |
org.opengis.feature.simple.SimpleFeatureType |
getSchema()
Retrieves the featureType that features extracted from this datasource will be created with. |
java.util.Set |
getSupportedHints()
Returns the set of hints this FeatureSource is able to support. |
void |
removeFeatureListener(FeatureListener listener)
Removes a listener from the list that's notified each time a change to the FeatureStore occurs. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public WFSFeatureSource(WFS_1_1_0_DataStore dataStore, java.lang.String typeName) throws java.io.IOException
java.io.IOException
Method Detail |
---|
public org.opengis.feature.type.Name getName()
FeatureSource
Note this is different from getSchema().getType().getName()
(that
is, the feature type name), this name specifies the
AttributeDescriptor name
for the
Features served by this source. So,
FeatureSoruce.getName() == FeatureSource.getFeatures().next().getAttributeDescriptor().getName()
.
Though it's a common practice when dealing with SimpleFeatureType
and SimpleFeature
to assume they're equal. There's no conflict
(as per the dynamic typing system the org.opengis.feature
package
defines) in a Feature and its type sharing the same name, as well as in a
GML schema an element declaration and a type definition may be named the
same. Yet, the distinction becomes important as we get rid of that
assumption and thus allow to reuse a type definition for different
FeatureSoruces, decoupling the descriptor (homologous to the Feature
element declaration in a GML schema) from its type definition.
So, even if implementors are allowed to delegate to
getSchema().getName()
if they want to call the fatures and their
type the same, client code asking a
DataAccess.getFeatureSource(Name)
shall use this name to request
for a FeatureSource, rather than the type name, as used in pre 2.5
versions of GeoTools. For example, if we have a FeatureSource named
Roads
and its type is named Roads_Type
, the
DataAccess
shall be queried through Roads
, not
Roads_Type
.
getName
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
public DataStore getDataStore()
FeatureSource
getDataStore
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
FeatureSource.getDataStore()
public org.opengis.feature.simple.SimpleFeatureType getSchema()
FeatureSource
The schema returned is the LCD supported by all available Features. In the common case of shapfiles and database table this schema will match that of every feature available. In the degenerate GML case this will simply reflect the gml:AbstractFeatureType.
getSchema
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
FeatureSource.getSchema()
public ResourceInfo getInfo()
getInfo
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
public void addFeatureListener(FeatureListener listener)
FeatureSource
addFeatureListener
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
listener
- FeatureListenerFeatureSource.addFeatureListener(FeatureListener)
public void removeFeatureListener(FeatureListener listener)
FeatureSource
removeFeatureListener
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
listener
- FeatureListenerFeatureSource.removeFeatureListener(FeatureListener)
public ReferencedEnvelope getBounds() throws java.io.IOException
FeatureSource
With getBounds(Query) this becomes a convenience method for getBounds(Query.ALL), that is the bounds for all features contained here.
If getBounds() returns null
due to expense consider using
getFeatures().getBounds()
as a an alternative.
getBounds
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
java.io.IOException
- if there are errors getting the bounding box.FeatureSource.getBounds()
public ReferencedEnvelope getBounds(Query query) throws java.io.IOException
FeatureSource
To retrieve the bounds of the DataSource please use getBounds(
Query.ALL )
.
This method is needed if we are to stream features to a gml out, since a
FeatureCollection
If getBounds(Query) returns null
due to expense consider
using getFeatures(Query).getBounds()
as a an alternative.
getBounds
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
query
- Contains the Filter, and optionally MaxFeatures and StartIndex to
find the bounds for.
java.io.IOException
- DOCUMENT ME!FeatureSource.getBounds(Query)
public int getCount(Query query) throws java.io.IOException
FeatureSource
If getBounds(Query) returns -1
due to expense consider
using getFeatures(Query).getCount()
as a an alternative.
This method should take into account the Query's maxFeatures
and startIndex
, if present, in order to
consistently return the number of features the query would return.
getCount
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
query
- Contains the Filter, and optionally MaxFeatures and StartIndex to
find the count for.
-1
if count is too expensive to calculate or any errors or occur.
java.io.IOException
- if there are errors getting the countFeatureSource.getCount(Query)
public org.geotools.data.wfs.v1_1_0.WFSFeatureCollection getFeatures(org.opengis.filter.Filter filter) throws java.io.IOException
FeatureSource
getFeatures
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
filter
- An OpenGIS filter; specifies which features to retrieve.
null is not allowed, use Filter.INCLUDE instead.
java.io.IOException
- For all data source errors.FeatureSource.getFeatures(Filter)
public org.geotools.data.wfs.v1_1_0.WFSFeatureCollection getFeatures() throws java.io.IOException
FeatureSource
Filter.INCLUDE can also be used to get all features. Calling this function
is equivalent to using Query.ALL
getFeatures
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
java.io.IOException
- For all data source errors.FeatureSource.getFeatures()
public org.geotools.data.wfs.v1_1_0.WFSFeatureCollection getFeatures(Query query) throws java.io.IOException
FeatureSource
getFeatures
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
query
- a datasource query object. It encapsulates requested
information, such as typeName, maxFeatures and filter.
java.io.IOException
- For all data source errors.FeatureSource.getFeatures(Query)
public java.util.Set getSupportedHints()
FeatureSource
FeatureSource
is able to support.
Hints are to be specified in the Query
, for each data access where they
may be required.
Depending on the actual value provide by the user, the FeatureSource
may decide not to honor the hint.
getSupportedHints
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
RenderingHints#Key
objects (eventually empty, never null).FeatureSource.getSupportedHints()
public QueryCapabilities getQueryCapabilities()
FeatureSource
getQueryCapabilities
in interface FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |