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