001: // $HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/ogcwebservices/wcs/configuration/Extension.java $
002: /*---------------- FILE HEADER ------------------------------------------
003:
004: This file is part of deegree.
005: Copyright (C) 2001-2008 by:
006: EXSE, Department of Geography, University of Bonn
007: http://www.giub.uni-bonn.de/deegree/
008: lat/lon GmbH
009: http://www.lat-lon.de
010:
011: This library is free software; you can redistribute it and/or
012: modify it under the terms of the GNU Lesser General Public
013: License as published by the Free Software Foundation; either
014: version 2.1 of the License, or (at your option) any later version.
015:
016: This library is distributed in the hope that it will be useful,
017: but WITHOUT ANY WARRANTY; without even the implied warranty of
018: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: Lesser General Public License for more details.
020:
021: You should have received a copy of the GNU Lesser General Public
022: License along with this library; if not, write to the Free Software
023: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024:
025: Contact:
026:
027: Andreas Poth
028: lat/lon GmbH
029: Aennchenstr. 19
030: 53115 Bonn
031: Germany
032: E-Mail: poth@lat-lon.de
033:
034: Prof. Dr. Klaus Greve
035: Department of Geography
036: University of Bonn
037: Meckenheimer Allee 166
038: 53115 Bonn
039: Germany
040: E-Mail: greve@giub.uni-bonn.de
041:
042:
043: ---------------------------------------------------------------------------*/
044: package org.deegree.ogcwebservices.wcs.configuration;
045:
046: /**
047: *
048: *
049: * @version $Revision: 9345 $
050: * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
051: * @author last edited by: $Author: apoth $
052: *
053: * @version $Revision: 9345 $, $Date: 2007-12-27 08:22:25 -0800 (Thu, 27 Dec 2007) $
054: */
055: public interface Extension {
056:
057: final String FILEBASED = "file";
058:
059: final String NAMEINDEXED = "nameIndexed";
060:
061: final String SHAPEINDEXED = "shapeIndexed";
062:
063: final String DATABASEINDEXED = "databaseIndexed";
064:
065: final String ORACLEGEORASTER = "OracleGeoRaster";
066:
067: /**
068: * returns the type of the coverage source that is described be an extension
069: *
070: * @return the type of the coverage source that is described be an extension
071: */
072: String getType();
073:
074: /**
075: * returns the minimum scale of objects that are described by an <tt>Extension</tt> object
076: *
077: * @return the minimum scale of objects that are described by an <tt>Extension</tt> object
078: */
079: double getMinScale();
080:
081: /**
082: * returns the maximum scale of objects that are described by an <tt>Extension</tt> object
083: *
084: * @return the maximum scale of objects that are described by an <tt>Extension</tt> object
085: */
086: double getMaxScale();
087:
088: /**
089: * returns the offset of the data. 0 will be returned if no offset is
090: * defined. Data first must be divided by the scale factor (@see #getScaleFactor())
091: * before sustracting the offset
092: *
093: * @return
094: */
095: double getOffset();
096:
097: /**
098: * returns the scale factor of the data. If no scale factor is defined
099: * 1 will be returned. Data first must be divided by the scale factor
100: * (@see #getScaleFactor()) before sustracting the offset
101: * @return
102: */
103: double getScaleFactor();
104:
105: /**
106: * returns all <tt>Resolution</tt>s. If no <tt>Resolution</tt> can be found for the passed
107: * scale an empty array will be returned.
108: *
109: * @param scale
110: * scale the returned resolutions must fit
111: *
112: * @return <tt>Resolution</tt>s matching the passed scale
113: */
114: Resolution[] getResolutions();
115:
116: /**
117: * returns the <tt>Resolution</tt>s matching the passed scale. If no <tt>Resolution</tt>
118: * can be found for the passed scale an empty array will be returned.
119: *
120: * @param scale
121: * scale the returned resolutions must fit
122: *
123: * @return <tt>Resolution</tt>s matching the passed scale
124: */
125: Resolution[] getResolutions(double scale);
126:
127: /**
128: * @param resolution
129: */
130: void addResolution(Resolution resolution);
131:
132: }
|