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;
044
045 // J2SE direct dependencies
046 import java.util.Map;
047
048
049 /**
050 * Base interface for all request on OGC Web Services (OWS). Each
051 * class that capsulates a request against an OWS has to implements this
052 * interface.
053 *
054 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
055 */
056 public interface WebServiceRequest {
057 /**
058 * Finally, the requests allow for optional vendor-specific parameters (VSPs)
059 * that will enhance the results of a request. Typically, these are used for
060 * private testing of non-standard functionality prior to possible
061 * standardization. A generic client is not required or expected to make use
062 * of these VSPs.
063 */
064 Map<String,String> getVendorSpecificParameters();
065
066 /**
067 * Returns the ID of a request.
068 */
069 String getId();
070
071 /**
072 * Returns the requested service version.
073 */
074 String getVersion();
075
076 /**
077 * Returns the name of the service that is tagerted by a request.
078 */
079 String getServiceName();
080
081 /**
082 * Returns the URI of a HTTP GET request. If the request doesn't support
083 * HTTP GET a <tt>WebServiceException</tt> will be thrown
084 *
085 * @deprecated should be replaced by a factory class.
086 */
087 String getRequestParameter() throws WebServiceException;
088 }