001 /*---------------- FILE HEADER ------------------------------------------
002
003 This file is part of deegree.
004 Copyright (C) 2001 by:
005 EXSE, Department of Geography, University of Bonn
006 http://www.giub.uni-bonn.de/exse/
007 lat/lon Fitzke/Fretter/Poth GbR
008 http://www.lat-lon.de
009
010 This library is free software; you can redistribute it and/or
011 modify it under the terms of the GNU Lesser General Public
012 License as published by the Free Software Foundation; either
013 version 2.1 of the License, or (at your option) any later version.
014
015 This library is distributed in the hope that it will be useful,
016 but WITHOUT ANY WARRANTY; without even the implied warranty of
017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
018 Lesser General Public License for more details.
019
020 You should have received a copy of the GNU Lesser General Public
021 License along with this library; if not, write to the Free Software
022 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
023
024 Contact:
025
026 Andreas Poth
027 lat/lon Fitzke/Fretter/Poth GbR
028 Meckenheimer Allee 176
029 53115 Bonn
030 Germany
031 E-Mail: poth@lat-lon.de
032
033 Jens Fitzke
034 Department of Geography
035 University of Bonn
036 Meckenheimer Allee 166
037 53115 Bonn
038 Germany
039 E-Mail: jens.fitzke@uni-bonn.de
040
041
042 ---------------------------------------------------------------------------*/
043 package org.opengis.webservice.feature;
044
045 // OpenGIS direct dependencies
046 import org.opengis.webservice.WebService;
047 import org.opengis.webservice.WebServiceRequest;
048 import org.opengis.webservice.WebServiceResponse;
049 import org.opengis.webservice.capability.WebServiceCapabilities;
050
051 // Annotations
052 import org.opengis.annotation.UML;
053 import static org.opengis.annotation.Obligation.*;
054 import static org.opengis.annotation.Specification.*;
055
056
057 /**
058 * Web feature service. A WFS is callable through the {@link #doService doService} method
059 * inherited from {@link WebService}. The specification states that only one object of this
060 * class is implemented in each server instance, and this object always exists while server
061 * is available. (OGC document 03-098, p. 98).
062 *
063 * @author Andreas Poth
064 */
065 public interface WebFeatureService extends WebService {
066 /**
067 *
068 */
069 @UML(identifier="capabilities", specification=UNSPECIFIED)
070 WebServiceCapabilities getCapabilities();
071
072 String getVersion();
073
074 /**
075 * Handles a request against an OGC web service.
076 */
077 void handleRequest(WebServiceRequest request);
078
079 /**
080 * Receives the response from the WFSDispatcher. Calling this method an
081 * internal flag is set that indicates that the waiting loop can be aborted
082 * without an exception.
083 */
084 void handleResponse(WebServiceResponse response);
085
086 /**
087 * Registeres a new DataStore to a WebFeatureService instance
088 */
089 // void registerDataStore(DataStore dataStore);
090 }