001: // $HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/ogcwebservices/wcs/configuration/FileResolution.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: import java.util.ArrayList;
047: import java.util.Arrays;
048: import java.util.List;
049:
050: /**
051: * models a <tt>Resolution</tt> that describes the access to the coverages using named files (with
052: * a defined size if it's a grid coverage).
053: *
054: * @version $Revision: 9345 $
055: * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
056: * @author last edited by: $Author: apoth $
057: *
058: * @version $Revision: 9345 $, $Date: 2007-12-27 08:22:25 -0800 (Thu, 27 Dec 2007) $
059: */
060: public class FileResolution extends AbstractResolution {
061:
062: private List<File> files = null;
063:
064: /**
065: * @param minScale
066: * @param maxScale
067: * @param range
068: * @throws IllegalArgumentException
069: */
070: public FileResolution(double minScale, double maxScale,
071: Range[] range, File[] files)
072: throws IllegalArgumentException {
073: super (minScale, maxScale, range);
074: setFiles(files);
075: }
076:
077: /**
078: * sets all file description contained in the <tt>Resolution</tt>
079: *
080: * @param files
081: */
082: public void setFiles(File[] files) {
083: this .files = new ArrayList<File>(Arrays.asList(files));
084: }
085:
086: /**
087: * returns all file description contained in the <tt>Resolution</tt>
088: *
089: * @return all file description contained in the <tt>Resolution</tt>
090: *
091: */
092: public File[] getFiles() {
093: return files.toArray(new File[files.size()]);
094: }
095:
096: /**
097: * adds a files descrition to the <tt>Resolution</tt>
098: *
099: * @param file
100: */
101: public void addFile(File file) {
102: files.add(file);
103: }
104:
105: /**
106: * removes a files descrition from the <tt>Resolution</tt>
107: *
108: * @param file
109: */
110: public void removeFile(File file) {
111: files.remove(file);
112: }
113:
114: }
|