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    }