001: //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/ogcwebservices/wcs/describecoverage/RangeSet.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.describecoverage;
045:
046: import java.net.URI;
047:
048: import org.deegree.datatypes.values.ValueEnum;
049: import org.deegree.ogcbase.Description;
050: import org.deegree.ogcbase.OGCException;
051: import org.deegree.ogcwebservices.MetadataLink;
052:
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 1.0. $Revision: 9345 $, $Date: 2007-12-27 08:22:25 -0800 (Thu, 27 Dec 2007) $
059: *
060: * @since 2.0
061: */
062:
063: public class RangeSet extends Description implements Cloneable {
064:
065: private URI semantic = null;
066:
067: private URI refSys = null;
068:
069: private String refSysLabel = null;
070:
071: private ValueEnum nullValues = null;
072:
073: private AxisDescription[] axisDescription = new AxisDescription[0];
074:
075: /**
076: * @param name
077: * @param label
078: * @throws OGCException
079: */
080: public RangeSet(String name, String label) throws OGCException {
081: super (name, label);
082: }
083:
084: /**
085: * @param name
086: * @param label
087: * @param nullValues
088: * @param axisDescription
089: * @throws OGCException
090: */
091: public RangeSet(String name, String label, ValueEnum nullValues,
092: AxisDescription[] axisDescription) throws OGCException {
093: super (name, label);
094: this .nullValues = nullValues;
095: setAxisDescription(axisDescription);
096: }
097:
098: /**
099: * @param name
100: * @param label
101: * @param description
102: * @param metadataLink
103: * @param semantic
104: * @param refSys
105: * @param refSysLabel
106: * @param nullValues
107: * @param axisDescription
108: * @throws OGCException
109: */
110: public RangeSet(String name, String label, String description,
111: MetadataLink metadataLink, URI semantic, URI refSys,
112: String refSysLabel, ValueEnum nullValues,
113: AxisDescription[] axisDescription) throws OGCException {
114: super (name, label, description, metadataLink);
115: this .semantic = semantic;
116: this .refSys = refSys;
117: this .refSysLabel = refSysLabel;
118: this .nullValues = nullValues;
119: if (axisDescription != null) {
120: this .axisDescription = axisDescription;
121: }
122: }
123:
124: /**
125: * @return Returns the axisDescription.
126: */
127: public AxisDescription[] getAxisDescription() {
128: return axisDescription;
129: }
130:
131: /**
132: * @param axisDescription
133: * The axisDescription to set.
134: */
135: public void setAxisDescription(AxisDescription[] axisDescription) {
136: if (axisDescription != null) {
137: this .axisDescription = axisDescription;
138: }
139: }
140:
141: /**
142: * @return Returns the nullValues.
143: */
144: public ValueEnum getNullValues() {
145: return nullValues;
146: }
147:
148: /**
149: * @param nullValues
150: * The nullValues to set.
151: */
152: public void setNullValues(ValueEnum nullValues) {
153: this .nullValues = nullValues;
154: }
155:
156: /**
157: * @return Returns the refSys.
158: */
159: public URI getRefSys() {
160: return refSys;
161: }
162:
163: /**
164: * @param refSys
165: * The refSys to set.
166: */
167: public void setRefSys(URI refSys) {
168: this .refSys = refSys;
169: }
170:
171: /**
172: * @return Returns the refSysLabel.
173: */
174: public String getRefSysLabel() {
175: return refSysLabel;
176: }
177:
178: /**
179: * @param refSysLabel
180: * The refSysLabel to set.
181: */
182: public void setRefSysLabel(String refSysLabel) {
183: this .refSysLabel = refSysLabel;
184: }
185:
186: /**
187: * @return Returns the semantic.
188: */
189: public URI getSemantic() {
190: return semantic;
191: }
192:
193: /**
194: * @param semantic
195: * The semantic to set.
196: */
197: public void setSemantic(URI semantic) {
198: this .semantic = semantic;
199: }
200:
201: /**
202: * @see java.lang.Object#clone()
203: */
204: public Object clone() {
205: ValueEnum nullValues_ = null;
206: if (nullValues_ != null) {
207: nullValues_ = (ValueEnum) nullValues.clone();
208: }
209:
210: AxisDescription[] ad = new AxisDescription[axisDescription.length];
211: for (int i = 0; i < ad.length; i++) {
212: ad[i] = (AxisDescription) axisDescription[i].clone();
213: }
214: Description des = (Description) super .clone();
215: try {
216: return new RangeSet(des.getName(), des.getLabel(), des
217: .getDescription(), des.getMetadataLink(), semantic,
218: refSys, refSysLabel, nullValues_, ad);
219: } catch (Exception e) {
220: }
221: return null;
222: }
223:
224: }
|