Package com.luciad.ogc.csw.server
Interface ILcdCSWCapabilitiesProvider
- All Known Implementing Classes:
ALcdCSWCapabilitiesProvider
public interface ILcdCSWCapabilitiesProvider
Configures the CSW server's capabilities.
More specifically, it exposes the following functionality:
- the
CSW
versions to advertise - important info/metadata about the
service itself
(e.g. what kind of data are offering) and theprovider
(e.g. your company name) - the
OpenSearch
capabilities (used for 3.0.0 servers only) - the supported
input
andoutput
record types and associated properties. - the
query handler
that will search for and return records from the catalogue.
The use of this interface allows to return an up to date version of the capabilities for requests
and eases implementation of access control.
Most implementations of this class can simply extend ALcdCSWCapabilitiesProvider
.
- Since:
- 2017.0
-
Method Summary
Modifier and TypeMethodDescriptioncreateServiceIdentification
(ILcdRequest aRequest) Returns the general service identification that will appear in the server's capabilities document.createServiceProvider
(ILcdRequest aRequest) Returns the general service info/metadata that will appear in the server's capabilities document.default Object
getExtendedCapabilities
(ILcdRequest aRequest) Returns extended operations metadata capabilities, if any.getFilterCapabilities
(ILcdRequest aRequest) Returns the OGC filter capabilities supported by this handler.getInputRecordProperties
(ILcdRequest aRequest, TLcdCSWRecordType aInputFormat) Returns the names of the properties (e.g.getInputRecordTypes
(ILcdRequest aRequest) Returns a description of all data records that can be queried.getOpenSearchTemplates
(ILcdRequest aRequest) Returns the URL templates used to advertise OpenSearch capabilities.getOutputRecordProperties
(ILcdRequest aRequest, TLcdCSWRecordType aOutputFormat) Returns the names of the properties (e.g.getOutputRecordTypes
(ILcdRequest aRequest) Returns a description of all the output formats (e.g.getQueryHandler
(ILcdRequest aRequest) Returns thequery handler
that will search for and return records from the catalogue.Returns the CSW versions that will be advertised by the server.
-
Method Details
-
getSupportedVersions
Returns the CSW versions that will be advertised by the server. The first version of the returned list is the default one.- Returns:
- the default and fallback versions of the supported catalogue standard
-
createServiceProvider
Returns the general service info/metadata that will appear in the server's capabilities document.- Returns:
- the general service info/metadata that will appear in the server's capabilities document. Never null.
-
createServiceIdentification
Returns the general service identification that will appear in the server's capabilities document.- Returns:
- the service identification that will appear in the server's capabilities document, containing at least one
supported
version
. Never null.
-
getExtendedCapabilities
Returns extended operations metadata capabilities, if any. Individual software vendors and servers can use this element to provide metadata about any additional server abilities.- Returns:
- an Object describing additional server abilities, or null
- Since:
- 2017.1
- See Also:
-
getOpenSearchTemplates
Returns the URL templates used to advertise OpenSearch capabilities.- Parameters:
aRequest
- the request triggering the call- Returns:
- the URL templates, or an empty list if the server should not advertise OpenSearch capabilities. Never null.
-
getFilterCapabilities
Returns the OGC filter capabilities supported by this handler.- Parameters:
aRequest
- the request triggering the call- Returns:
- the filter capabilities
- Since:
- 2017.1
-
getInputRecordTypes
Returns a description of all data records that can be queried. For 2.0.2 compliancy, this list should at least containTLcdCSWRecordType.CSW_202
. For 3.0.0 compliancy, this list should at least containTLcdCSWRecordType.CSW_300
. SeeTLcdCSWQuery.getTypeNames()
for how to specify the input record type in a query. SeegetInputRecordProperties(com.luciad.ogc.common.ILcdRequest, com.luciad.ogc.csw.record.TLcdCSWRecordType)
for the specific properties that are supported.- Parameters:
aRequest
- the request triggering the call- Returns:
- the descriptors for all data records that can be queried.
- Since:
- 2017.1
-
getInputRecordProperties
Returns the names of the properties (e.g. dc:title, apiso:Creator, ...) this query handler can handle in record query filters. This information is used by the server when advertising capabilities. The key of the map is the name of the constraint to advertise (e.g. CoreQueryables).- Parameters:
aRequest
- the request triggering the callaInputFormat
- the input format for which to return the properties- Returns:
- the queryable properties supported by this handler
- Since:
- 2017.1
-
getOutputRecordTypes
Returns a description of all the output formats (e.g. CSW Dublin Core, ISO Metadata, ATOM Feeds, ...) the query handler can use to construct the result of a given query. For 2.0.2 compliancy, this list should at least containTLcdCSWRecordType.CSW_202
. For 3.0.0 compliancy, this list should at least containTLcdCSWRecordType.CSW_300
andTLcdCSWRecordType.ATOM
.- Parameters:
aRequest
- the request triggering the call- Returns:
- the descriptors for all the output types the query handler can use to construct the result to a given query.
- Since:
- 2017.1
-
getOutputRecordProperties
Returns the names of the properties (e.g. dc:title, apiso:Creator, ...) this query handler can include for the given record format when constructing a query result. This information is used by the server to validate queries. SeeTLcdCSWQuery.getElements()
for how to specify output properties in record queries.- Parameters:
aRequest
- the request triggering the callaOutputFormat
- the output format for which to return the properties- Returns:
- the returnable properties supported by this handler
- Since:
- 2017.1
-
getQueryHandler
Returns thequery handler
that will search for and return records from the catalogue.- Parameters:
aRequest
- the request triggering the call- Returns:
- an ILcdCSWQueryHandler that will handle each query that is sent along with a getRecords request, never null.
- Since:
- 2017.1
-