Package org.dspace.app.util.service
Interface OpenSearchService
- All Known Implementing Classes:
OpenSearchServiceImpl
public interface OpenSearchService
Utility Class with static methods for producing OpenSearch-compliant search results,
and the OpenSearch description document.
OpenSearch is a specification for describing and advertising search-engines and their result formats. Commonly, RSS and Atom formats are used, which the current implementation supports, as is HTML (used directly in browsers). NB: this is baseline OpenSearch, no extensions currently supported.
The value of the "scope" parameter should either be absent (which means no scope restriction), or the handle of a community or collection.
- Author:
- Richard Rodgers
-
Method Summary
Modifier and TypeMethodDescriptiongetContentType(String format) Returns a mime-type associated with passed formatgetDescription(String scope) Returns OpenSearch Servic Document as a stringgetDescriptionDoc(String scope) Returns the OpenSearch service document appropriate for given scopeReturns list of supported formatsintRetrieves the maximum number of items that can be included in a single opensearch request.getResultsDoc(Context context, String format, String query, int totalResults, int start, int pageSize, IndexableObject scope, List<IndexableObject> results) Returns a formatted set of search results as a documentgetResultsString(Context context, String format, String query, int totalResults, int start, int pageSize, IndexableObject scope, List<IndexableObject> results) Returns a formatted set of search results as a stringbooleanDetermine if the module is activeresolveScope(Context context, String scope)
-
Method Details
-
getFormats
Returns list of supported formats- Returns:
- list of format names - 'rss', 'atom' or 'html'
-
isEnabled
boolean isEnabled()Determine if the module is active- Returns:
- boolean indicator if the OpenSearch module is enabled or not
-
getContentType
Returns a mime-type associated with passed format- Parameters:
format- the results document format (rss, atom, html)- Returns:
- content-type mime-type
-
getDescriptionDoc
Returns the OpenSearch service document appropriate for given scope- Parameters:
scope- - null for entire repository, or handle or community or collection- Returns:
- document the service document
- Throws:
IOException- if IO error
-
getDescription
Returns OpenSearch Servic Document as a string- Parameters:
scope- - null for entire repository, or handle or community or collection- Returns:
- service document as a string
-
getResultsString
String getResultsString(Context context, String format, String query, int totalResults, int start, int pageSize, IndexableObject scope, List<IndexableObject> results) throws IOException Returns a formatted set of search results as a string- Parameters:
context- DSpace Contextformat- results format - html, rss or atomquery- - the search querytotalResults- - the hit countstart- - start result indexpageSize- - page sizescope- - search scope, null or the community/collectionresults- the retrieved DSpace objects satisfying search- Returns:
- formatted search results
- Throws:
IOException- if IO error
-
getResultsDoc
Document getResultsDoc(Context context, String format, String query, int totalResults, int start, int pageSize, IndexableObject scope, List<IndexableObject> results) throws IOException Returns a formatted set of search results as a document- Parameters:
context- DSpace Contextformat- results format - html, rss or atomquery- - the search querytotalResults- - the hit countstart- - start result indexpageSize- - page sizescope- - search scope, null or the community/collectionresults- the retrieved DSpace objects satisfying search- Returns:
- formatted search results
- Throws:
IOException- if IO error
-
resolveScope
- Throws:
SQLException
-
getMaxNumOfItemsPerRequest
int getMaxNumOfItemsPerRequest()Retrieves the maximum number of items that can be included in a single opensearch request.- Returns:
- the maximum number of items allowed per request
-