public interface ILcdWFSFeatureType
Interface for classes that represent a WFS feature type.
Note that the qName and update sequence of this feature type can be used for caching purposes. These two properties should completely identify the state of a feature type.
Modifier and Type | Method and Description |
---|---|
String |
getAbstract()
Returns an abstract of this feature type (may be
null ). |
ILcdOGCFeatureIDRetriever |
getFeatureIDRetriever()
Returns the feature ID retriever for this feature type.
|
String |
getKeyword(int aIndex)
Returns the keyword at the given index.
|
int |
getKeywordCount()
Returns the number of keywords associated with the feature type.
|
TLcdWFSMetadataURL |
getMetadataURL(int aIndex)
Returns the metadata URL at the specified index.
|
int |
getMetadataURLCount()
Returns the number of metadata URLs associated with this feature type.
|
String |
getName()
Returns the name of this feature type.
|
QName |
getQName()
Returns the qualified name of this feature type.
|
String |
getSource()
Returns the source name of this feature type.
|
String |
getSRS()
Returns the SRS (Spatial Reference System) used by this feature type.
|
TLcdWFSOutputFormatList |
getSupportedOutputFormats()
Returns the supported output formats for this feature type.
|
String |
getTitle()
Returns the title of this feature type (may be
null ). |
default String |
getUpdateSequence()
Returns the update sequence value associated with this capabilities object.
|
boolean |
isLockingEnabled()
Returns whether this feature type supports locking.
|
boolean |
isTransactionEnabled()
Returns whether this feature type supports transactions.
|
void |
setSRS(String aSRS)
Sets the SRS (Spatial Reference System) to be used by this feature type.
|
String getName()
The returned name corresponds to the local part of
the qualified name of this feature type. To retrieve
the qualified name, getQName()
should be used.
getQName()
QName getQName()
Returns the qualified name of this feature type.
Note that this property can be used for caching purposes, together with the getUpdateSequence().
String getTitle()
null
).null
).String getAbstract()
null
).null
).String getSource()
ILcdModel
that corresponds to this feature type from an
ILcdOGCModelProvider
.ILcdOGCModelProvider.getModel(String, com.luciad.ogc.common.ALcdRequestContext)
String getSRS()
ILcdModelReference
of the ILcdModel
returned by the
ILcdOGCModelProvider
that corresponds to this feature type.ILcdOGCModelProvider.getModel(String, com.luciad.ogc.common.ALcdRequestContext)
ILcdOGCFeatureIDRetriever getFeatureIDRetriever()
void setSRS(String aSRS)
ILcdModelReference
of the ILcdModel
returned by the
ILcdOGCModelProvider
that corresponds to this feature type.aSRS
- the SRS (Spatial Reference System) to be used by this feature type.ILcdOGCModelProvider.getModel(String, com.luciad.ogc.common.ALcdRequestContext)
int getKeywordCount()
String getKeyword(int aIndex) throws IndexOutOfBoundsException
aIndex
- the index of the keyword to be retrievedIndexOutOfBoundsException
- if the index is out of range (index
< 0 || index >= getKeywordCount()).int getMetadataURLCount()
TLcdWFSMetadataURL getMetadataURL(int aIndex) throws IndexOutOfBoundsException
aIndex
- the index of the URL to be returnedIndexOutOfBoundsException
- if the index is out of range (index
< 0 || index >= getMetadataURLCount()).boolean isTransactionEnabled()
boolean isLockingEnabled()
TLcdWFSOutputFormatList getSupportedOutputFormats()
null
is returned, the global list of supported output formats defined by
ILcdWFSClientModelEncoderFactory.getSupportedOutputFormat(int, com.luciad.ogc.wfs.TLcdWFSRequestContext)
is used.null
if the global list applies.default String getUpdateSequence()
Returns the update sequence value associated with this capabilities object. This update sequence
identifies the state of the feature type, together with the qName
.
Note that this update sequence is not defined in the WFS specification. It is only used internally in the
WFS server implementation to detect feature type changes (and clear caches if needed). So the update sequence
will not be visible to a WFS client. The WFS specification does define an update sequence that is
visible to clients as well, see ALcdWFSCapabilities.setUpdateSequence
. WFS clients should use that update sequence to detect changes on the
server.
The update sequence should comply with a number of conditions:
By default, this method always returns "0"
. This means that the default implementation assumes that
WFS feature types never change. If WFS feature types change, the update sequence should be modified.
One way to generate update sequences would be to use a (persistent) counter that gets incremented on every
change. Another way would be to use System.currentTimeMillis()
from a correct clock. It is also an
option to return a String
that is concatenated with update sequences from a number of underlying
concepts, such as the source, qName, data, ...
Note that it is not needed to take into account the update sequence of the data (see
ILcdOGCModelProvider.getModelUpdateSequence(java.lang.String, com.luciad.ogc.common.ALcdRequestContext)
) when implementing this method. Instead, any code
that makes use of the feature type update sequence returned by this method should also take into
account the update sequence of the model. An example are caches. A cache entry should be
invalidated if the feature type update sequence changes, or if the model update sequence changes.
null
.