org.geotools.data.ows.Specification Maven / Gradle / Ivy
Show all versions of gt-main Show documentation
/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2004-2008, Open Source Geospatial Foundation (OSGeo)
*
* 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;
* version 2.1 of the License.
*
* 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.geotools.data.ows;
import java.net.URL;
/**
* Provides support for the Open Web Service Specificaitons.
*
* This class operates as a Factory creating request for Open Web Services.
*
*
The idea is that this class operates a Toolkit for all things assocated with an Open Web
* Service specification. The various objects produced by this toolkit are used as strategy objects
* for the top level AbstractOpenWebService subclass. Example:
*
*
* - WebMapServer - uses a GetCapabilitiesRequest during version negotiation.
*
*
* Both name and version information that may be checked against a GetCapabilities document
* during version negotiation. Specific Open Web Service implementations can extend this interface
* to include details that are specific to their specification. Example: The Web Map Service
* specification includes more operations such as GetMap and GetFeatureInfo.
*
*
Q: Why are these not static?
* A: Because we want to place new specifications into a data structure for WebMapServer to
* search through dynamically
*
* @author Jody Garnett, Refractions Reasearch
* @author rgould
*/
public abstract class Specification {
/**
* Expected version attribute for root element.
*
* @return the version as a String
*/
public abstract String getVersion();
/**
* Factory method to create GetCapabilities Request
*
* @param server the URL that points to the server's getCapabilities document
* @return a configured GetCapabilitiesRequest that can be used to access the Document
*/
public abstract GetCapabilitiesRequest createGetCapabilitiesRequest(URL server);
}