/* (c) 2017 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.opensearch.eo; import java.io.IOException; import java.util.Collection; import org.geotools.data.Parameter; public interface OpenSearchEoService { /** * Returns the request for the response object to produce either the global or the collection specific response * * @param request * @return * @throws IOException */ public OSEODescription description(OSEODescriptionRequest request) throws IOException; /** * Searches either collection or products, returned as complex features * * @param request * @return * @throws IOException */ public SearchResults search(SearchRequest request) throws IOException; /** * Retrieves a product/collection metadata in a particular format * * @param request * @return * @throws IOException */ public MetadataResults metadata(MetadataRequest request) throws IOException; /** * Returns the search parameters applicable to collections * * @param service * @return * @throws IOException */ Collection<Parameter<?>> getCollectionSearchParameters() throws IOException; /** * Returns the search parameters applicable to products of a certain collection * * @param service * @param parentId * @return * @throws IOException */ Collection<Parameter<?>> getProductSearchParameters(String parentId) throws IOException; /** * Returns the quicklook of a product (a PNG or JPEG image normally) */ QuicklookResults quicklook(QuicklookRequest request) throws IOException; }