Package com.luciad.ogc.csw.server
Interface ILcdCSWQueryHandler
- All Known Implementing Classes:
ALcdCSWFilterQueryHandler
public interface ILcdCSWQueryHandler
Validates and executes CSW record queries on an underlying metadata repository.
Implementations need to construct and execute one or more internal queries based on a CSW query's
filter constraint
.
The handler also needs to take into account the output format, content and sorting of the resulting metadata records.
See ALcdCSWFilterQueryHandler
for an abstract implementation restricted to OGC filter.
- Since:
- 2017.0
-
Method Summary
Modifier and TypeMethodDescriptionexecuteQuery
(TLcdCSWQuery aQuery, long aMaxRecords, long aStartPosition, TLcdCSWRecordType aOutputFormat, ILcdRequest aRequest) Executes the given query and returns its result.boolean
validateQuery
(TLcdCSWQuery aQuery, ILcdRequest aRequest) Returns true if the given query is a valid query, meaning that is is syntactically correct and uses the right property and type names.
-
Method Details
-
validateQuery
Returns true if the given query is a valid query, meaning that is is syntactically correct and uses the right property and type names.- Parameters:
aQuery
- the query to validateaRequest
- the request triggering the query- Returns:
- true if the given query is a valid query, false otherwise.
- Throws:
TLcdCSWServiceException
- can be thrown to provide more meaningful error messages
-
executeQuery
Object executeQuery(TLcdCSWQuery aQuery, long aMaxRecords, long aStartPosition, TLcdCSWRecordType aOutputFormat, ILcdRequest aRequest) throws TLcdCSWServiceException Executes the given query and returns its result.- Parameters:
aQuery
- A query to executeaMaxRecords
- the maximum number of records to returnaStartPosition
- The start position to return queries foraOutputFormat
- the output format for the recordaRequest
- the request triggering the query- Returns:
- a result set corresponding to the output format and output schema (for example,
TLcdCSWSearchResults
with Dublin Core or ISO metadata, or anatom feed
- Throws:
TLcdCSWServiceException
- if the query could not be executed
-