public class TLcdWFSFeatureType extends Object implements ILcdWFSFeatureType, ILcdBounded
ILcdWFSFeatureType
.Constructor and Description |
---|
TLcdWFSFeatureType() |
Modifier and Type | Method and Description |
---|---|
String |
getAbstract()
Returns an abstract of this feature type (may be
null ). |
ILcdBounds |
getBounds()
Returns the
ILcdBounds by which the geometry of this ILcdBounded object
is bounded. |
Long |
getExpiryDate()
Returns the expiry date of this feature type.
|
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.
|
Long |
getModificationDate()
Returns the modification date of 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 ). |
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 |
setAbstract(String aAbstract)
Sets the abstract of this feature type.
|
void |
setBounds(ILcdBounds aBounds)
Initializes the bounds of the WFS feature type.
|
void |
setExpiryDate(long aDate)
Sets an expiry date for this feature type.
|
void |
setFeatureIDRetriever(ILcdOGCFeatureIDRetriever aFeatureIDRetriever)
Sets the feature ID retriever to be used for this feature type.
|
void |
setKeywords(String[] aKeywords)
Sets the keywords associated with this feature type.
|
void |
setLockingEnabled(boolean aLockingEnabled)
Enables or disables locking for this type.
|
void |
setMetadataURLs(TLcdWFSMetadataURL[] aMetadataURLs)
Sets the metadata URLs associated with this feature type.
|
void |
setModificationDate(Long aDate)
Sets a modification date for this feature type.
|
void |
setName(String aName)
Sets the name of this feature type.
|
void |
setQName(QName aName)
Sets the qualified name of this feature type.
|
void |
setSource(String aSource)
Sets the source path of this feature type.
|
void |
setSRS(String aSRS)
Sets the SRS (Spatial Reference System) to be used by this feature type.
|
void |
setSupportedOutputFormats(TLcdWFSOutputFormatList aSupportedOutputFormatList)
Sets the supported output formats for this feature type.
|
void |
setTitle(String aTitle)
Sets the title of this feature type.
|
void |
setTransactionEnabled(boolean aTransactionEnabled)
Enables or disables transactions for this type.
|
void |
setUpdateSequence(String aUpdateSequence)
Sets the update sequence of this WFS feature type.
|
public String getName()
ILcdWFSFeatureType
The returned name corresponds to the local part of
the qualified name of this feature type. To retrieve
the qualified name, ILcdWFSFeatureType.getQName()
should be used.
getName
in interface ILcdWFSFeatureType
ILcdWFSFeatureType.getQName()
public QName getQName()
ILcdWFSFeatureType
Returns the qualified name of this feature type.
Note that this property can be used for caching purposes, together with the ILcdWFSFeatureType.getUpdateSequence().
getQName
in interface ILcdWFSFeatureType
public String getSRS()
ILcdWFSFeatureType
ILcdModelReference
of the ILcdModel
returned by the
ILcdOGCModelProvider
that corresponds to this feature type.getSRS
in interface ILcdWFSFeatureType
ILcdOGCModelProvider.getModel(String, com.luciad.ogc.common.ALcdRequestContext)
public void setName(String aName)
This name corresponds to the local part of the qualified name
of this feature type. To set a qualified name,
setQName(QName)
should be used.
aName
- The name of this feature type.getName()
,
setQName(QName)
public void setQName(QName aName)
aName
- The fully qualified name of this feature type.public String getTitle()
ILcdWFSFeatureType
null
).getTitle
in interface ILcdWFSFeatureType
null
).public void setTitle(String aTitle)
aTitle
- the title of this feature type.public String getAbstract()
ILcdWFSFeatureType
null
).getAbstract
in interface ILcdWFSFeatureType
null
).public void setAbstract(String aAbstract)
aAbstract
- the abstract of this feature type.public void setSource(String aSource)
aSource
- The source path of this feature type.public String getSource()
ILcdWFSFeatureType
ILcdModel
that corresponds to this feature type from an
ILcdOGCModelProvider
.getSource
in interface ILcdWFSFeatureType
ILcdOGCModelProvider.getModel(String, com.luciad.ogc.common.ALcdRequestContext)
public void setSRS(String aSRS)
ILcdWFSFeatureType
ILcdModelReference
of the ILcdModel
returned by the
ILcdOGCModelProvider
that corresponds to this feature type.setSRS
in interface ILcdWFSFeatureType
aSRS
- the SRS (Spatial Reference System) to be used by this feature type.ILcdOGCModelProvider.getModel(String, com.luciad.ogc.common.ALcdRequestContext)
public ILcdBounds getBounds()
ILcdBounded
ILcdBounds
by which the geometry of this ILcdBounded
object
is bounded.
If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points)
the return value is unspecified.
It is highly recommended to return an undefined
bounds.
You can create undefined bounds using the default constructors
of TLcdLonLatBounds
or TLcdXYBounds
.
getBounds
in interface ILcdBounded
ILcdBounds
by which the geometry of this ILcdBounded
object
is bounded.public void setBounds(ILcdBounds aBounds)
public ILcdOGCFeatureIDRetriever getFeatureIDRetriever()
ILcdWFSFeatureType
getFeatureIDRetriever
in interface ILcdWFSFeatureType
public void setFeatureIDRetriever(ILcdOGCFeatureIDRetriever aFeatureIDRetriever)
aFeatureIDRetriever
- An ILcdOGCFeatureIDRetriever
.public int getKeywordCount()
ILcdWFSFeatureType
getKeywordCount
in interface ILcdWFSFeatureType
public String getKeyword(int aIndex) throws IndexOutOfBoundsException
ILcdWFSFeatureType
getKeyword
in interface ILcdWFSFeatureType
aIndex
- the index of the keyword to be retrievedIndexOutOfBoundsException
- if the index is out of range (index
< 0 || index >= getKeywordCount()).public void setKeywords(String[] aKeywords)
aKeywords
- an array of keywordspublic int getMetadataURLCount()
ILcdWFSFeatureType
getMetadataURLCount
in interface ILcdWFSFeatureType
public TLcdWFSMetadataURL getMetadataURL(int aIndex) throws IndexOutOfBoundsException
ILcdWFSFeatureType
getMetadataURL
in interface ILcdWFSFeatureType
aIndex
- the index of the URL to be returnedIndexOutOfBoundsException
- if the index is out of range (index
< 0 || index >= getMetadataURLCount()).public void setMetadataURLs(TLcdWFSMetadataURL[] aMetadataURLs)
aMetadataURLs
- an array of TLcdWFSMetadataURLspublic boolean isLockingEnabled()
ILcdWFSFeatureType
isLockingEnabled
in interface ILcdWFSFeatureType
public void setLockingEnabled(boolean aLockingEnabled)
aLockingEnabled
- enables locking when truepublic boolean isTransactionEnabled()
ILcdWFSFeatureType
isTransactionEnabled
in interface ILcdWFSFeatureType
public void setTransactionEnabled(boolean aTransactionEnabled)
aTransactionEnabled
- enables transactions when true.public void setExpiryDate(long aDate)
Expires
HTTP header on GetFeature
and GetFeatureWithLock
responses.aDate
- an expiry date for this feature typegetExpiryDate()
public Long getExpiryDate()
null
is returned.setExpiryDate(long)
public void setModificationDate(Long aDate)
Last-Modified
HTTP header on GetFeature
and GetFeatureWithLock
responses.aDate
- a modification date for this feature typegetModificationDate()
public Long getModificationDate()
null
is returned.setModificationDate(Long aDate)
public void setSupportedOutputFormats(TLcdWFSOutputFormatList aSupportedOutputFormatList)
aSupportedOutputFormatList
- the supported output formats for this feature type.public TLcdWFSOutputFormatList getSupportedOutputFormats()
null
is returned,
indicating that the global list of supported output formats defined by
ILcdWFSClientModelEncoderFactory.getSupportedOutputFormat(int, com.luciad.ogc.wfs.TLcdWFSRequestContext)
is used.getSupportedOutputFormats
in interface ILcdWFSFeatureType
public String getUpdateSequence()
ILcdWFSFeatureType
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.
getUpdateSequence
in interface ILcdWFSFeatureType
null
.public void setUpdateSequence(String aUpdateSequence)
getUpdateSequence()
for more information.aUpdateSequence
- the new update sequence.