001 //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.3_testing/src/org/deegree/owscommon_new/DomainType.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.owscommon_new; 037 038 import java.util.List; 039 040 import org.deegree.datatypes.QualifiedName; 041 import org.deegree.datatypes.values.Interval; 042 import org.deegree.datatypes.values.TypedLiteral; 043 import org.deegree.datatypes.values.Values; 044 import org.deegree.model.crs.CoordinateSystem; 045 046 /** 047 * <code>DomainType</code> is describes the domain of a parameter according to the OWS common 048 * specification 1.0.0. It also implements quite a few extensions. 049 * 050 * @author <a href="mailto:schmitz@lat-lon.de">Andreas Schmitz</a> 051 * @author last edited by: $Author: mschneider $ 052 * 053 * @version 2.0, $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $ 054 * 055 * @since 2.0 056 */ 057 058 public class DomainType extends Parameter { 059 060 private QualifiedName name = null; 061 062 private List<TypedLiteral> values = null; 063 064 private List<Interval> ranges = null; 065 066 private TypedLiteral defaultValue = null; 067 068 private boolean anyValueAllowed = false; 069 070 private String meaning = null; 071 072 private boolean noValuesAllowed = false; 073 074 private CoordinateSystem referenceSystem = null; 075 076 private QualifiedName unitOfMeasure = null; 077 078 private Values valueList = null; 079 080 private Object metadata = null; 081 082 /** 083 * Standard constructor that initializes all encapsulated data. 084 * 085 * @param optional 086 * @param repeatable 087 * @param description 088 * @param direction 089 * @param name 090 * @param values 091 * @param ranges 092 * @param defaultValue 093 * @param anyValueAllowed 094 * @param meaning 095 * @param noValuesAllowed 096 * @param referenceSystem 097 * @param unitOfMeasure 098 * @param valueList 099 * @param metadata 100 */ 101 public DomainType( boolean optional, boolean repeatable, String description, int direction, QualifiedName name, 102 List<TypedLiteral> values, List<Interval> ranges, TypedLiteral defaultValue, 103 boolean anyValueAllowed, String meaning, boolean noValuesAllowed, 104 CoordinateSystem referenceSystem, QualifiedName unitOfMeasure, Values valueList, Object metadata ) { 105 super( optional, repeatable, description, direction ); 106 107 this.name = name; 108 this.values = values; 109 this.ranges = ranges; 110 this.defaultValue = defaultValue; 111 this.anyValueAllowed = anyValueAllowed; 112 this.meaning = meaning; 113 this.noValuesAllowed = noValuesAllowed; 114 this.referenceSystem = referenceSystem; 115 this.unitOfMeasure = unitOfMeasure; 116 this.valueList = valueList; 117 this.metadata = metadata; 118 } 119 120 /** 121 * @return Returns whether any value is allowed. 122 */ 123 public boolean isAnyValueAllowed() { 124 return anyValueAllowed; 125 } 126 127 /** 128 * @return Returns the defaultValue. 129 */ 130 public TypedLiteral getDefaultValue() { 131 return defaultValue; 132 } 133 134 /** 135 * @return Returns the meaning. 136 */ 137 public String getMeaning() { 138 return meaning; 139 } 140 141 /** 142 * @return Returns the metadata. 143 */ 144 public Object getMetadata() { 145 return metadata; 146 } 147 148 /** 149 * @return Returns the name. 150 */ 151 public QualifiedName getName() { 152 return name; 153 } 154 155 /** 156 * @return Returns the noValuesAllowed. 157 */ 158 public boolean areNoValuesAllowed() { 159 return noValuesAllowed; 160 } 161 162 /** 163 * @return Returns the ranges. 164 */ 165 public List<Interval> getRanges() { 166 return ranges; 167 } 168 169 /** 170 * @return Returns the referenceSystem. 171 */ 172 public CoordinateSystem getReferenceSystem() { 173 return referenceSystem; 174 } 175 176 /** 177 * @return Returns the unitOfMeasure. 178 */ 179 public QualifiedName getUnitOfMeasure() { 180 return unitOfMeasure; 181 } 182 183 /** 184 * @return Returns the valueList. 185 */ 186 public Values getValueList() { 187 return valueList; 188 } 189 190 /** 191 * @return Returns the values. 192 */ 193 public List<TypedLiteral> getValues() { 194 return values; 195 } 196 197 }