/* * Geotoolkit - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2014, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotoolkit.observation; import java.util.List; import org.apache.sis.storage.DataStoreException; import org.geotoolkit.gml.xml.Envelope; import org.opengis.observation.Observation; import org.opengis.observation.sampling.SamplingFeature; /** * * @author Guilhem Legal (Geomatys) */ public interface ObservationFilterReader extends ObservationFilter { /** * Return a list of Observation templates matching the builded filter. * * @param version the sosversion for the xml object returned. * * @return A list of Observation templates matching the builded filter. * @throws org.apache.sis.storage.DataStoreException */ List<Observation> getObservationTemplates(final String version) throws DataStoreException; /** * Return a list of Observation matching the builded filter. * * @param version the sosversion for the xml object returned. * * @return A list of Observation matching the builded filter. * @throws org.apache.sis.storage.DataStoreException */ List<Observation> getObservations(final String version) throws DataStoreException; /** * * @param version the sosversion for the xml object returned. * * @return * @throws DataStoreException */ List<SamplingFeature> getFeatureOfInterests(final String version) throws DataStoreException; /** * Return an encoded block of data in a string. * The datas are the results of the matching observations. * * @return An encoded block of data in a string. * @throws org.apache.sis.storage.DataStoreException */ String getResults() throws DataStoreException; String getDecimatedResults(final int width) throws DataStoreException; /** * Return an encoded block of data in a string. * The datas are the results of the matching observations. * The datas are usually encoded as CSV (comma separated value) format. * @return * @throws org.apache.sis.storage.DataStoreException */ Object getOutOfBandResults() throws DataStoreException; /** * MIME type of the data that will be returned as the result of a GetObservation request. * This is usually text/xml; subtype="om/1.0.0". * In the case that data is delivered out of band it might be text/xml;subtype="tml/2.0" for TML or some * other MIME type. * * @param responseFormat the MIME type of the response. */ void setResponseFormat(String responseFormat); /** * return true if the filter reader take in charge the calculation of the collection bounding shape. * * @return True if the filter compute itself the bounding shape of the collection. */ boolean computeCollectionBound(); /** * If the filter reader caompute itself the bounding shape of the obervation collection. * this methode return the current shape. * @return */ Envelope getCollectionBoundingShape(); }