001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/ogcwebservices/wps/describeprocess/InputDescription.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/exse/
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 Aennchenstraße 19
030 53177 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 package org.deegree.ogcwebservices.wps.describeprocess;
044
045 import org.deegree.datatypes.Code;
046 import org.deegree.ogcwebservices.wps.WPSDescription;
047
048 /**
049 * InputDescription.java
050 *
051 * Created on 09.03.2006. 22:33:58h
052 *
053 * Description of an input to a process.
054 *
055 * @author <a href="mailto:christian@kiehle.org">Christian Kiehle</a>
056 * @author <a href="mailto:christian.heier@gmx.de">Christian Heier</a>
057 * @author last edited by: $Author:wanhoff$
058 *
059 * @version $Revision: 9345 $, $Date:20.03.2007$
060 */
061 public class InputDescription extends WPSDescription {
062
063 /**
064 * Indicates that this input shall be a complex data structure (such as a GML document), and
065 * provides a list of formats and encodings supported for this Input. The value of this
066 * ComplexData structure can be input either embedded in the Execute request or remotely
067 * accessible to the server. This element also provides a list of formats, encodings, and
068 * schemas supported for this output. The client can select from among the identified
069 * combinations of formats, encodings, and schemas to specify the form of the output. This
070 * allows for complete specification of particular versions of GML, or image formats.
071 */
072 protected ComplexData complexData;
073
074 /**
075 * Indicates that this input shall be a simple numeric value or character string that is
076 * embedded in the execute request, and describes the possible values.
077 */
078 protected LiteralInput literalData;
079
080 /**
081 * Indicates that this input shall be a BoundingBox data structure that is embedded in the
082 * execute request, and provides a list of the CRSs supported for this Bounding Box.
083 */
084 protected SupportedCRSs boundingBoxData;
085
086 /**
087 * The minimum number of times that values for this parameter are required. If MinimumOccurs is
088 * "0", this data input is optional. If MinimumOccurs is "1" or if this element is omitted, this
089 * process input is required.
090 */
091 protected int minimumOccurs;
092
093 /**
094 *
095 * @param identifier
096 * @param title
097 * @param _abstract
098 * @param boundingBoxData
099 * @param complexData
100 * @param literalData
101 * @param occurs
102 */
103 public InputDescription( Code identifier, String title, String _abstract,
104 SupportedCRSs boundingBoxData, ComplexData complexData,
105 LiteralInput literalData, int occurs ) {
106 super( identifier, title, _abstract );
107 this.boundingBoxData = boundingBoxData;
108 this.complexData = complexData;
109 this.literalData = literalData;
110 minimumOccurs = occurs;
111 }
112
113 /**
114 * @return Returns the complexData.
115 */
116 public ComplexData getComplexData() {
117 return complexData;
118 }
119
120 /**
121 * @param value
122 * The complexData to set.
123 */
124 public void setComplexData( ComplexData value ) {
125 this.complexData = value;
126 }
127
128 /**
129 * @return Returns the literalData.
130 */
131 public LiteralInput getLiteralData() {
132 return literalData;
133 }
134
135 /**
136 * @param value
137 * The literalData to set.
138 */
139 public void setLiteralData( LiteralInput value ) {
140 this.literalData = value;
141 }
142
143 /**
144 * @return Returns the boundingBoxData.
145 */
146 public SupportedCRSs getBoundingBoxData() {
147 return boundingBoxData;
148 }
149
150 /**
151 * @param value
152 * The boundingBoxData to set.
153 */
154 public void setBoundingBoxData( SupportedCRSs value ) {
155 this.boundingBoxData = value;
156 }
157
158 /**
159 * @return Returns the minimumOccurs.
160 */
161 public int getMinimumOccurs() {
162 return minimumOccurs;
163 }
164
165 /**
166 * @param value
167 * The minimumOccurs to set.
168 */
169 public void setMinimumOccurs( int value ) {
170 this.minimumOccurs = value;
171 }
172
173 /**
174 * @return
175 */
176 public boolean isBoundingBoxData() {
177 boolean isBoundingBoxData = false;
178 if ( null != boundingBoxData ) {
179 isBoundingBoxData = true;
180 }
181 return isBoundingBoxData;
182 }
183
184 /**
185 * @return
186 */
187 public boolean isComplexData() {
188 boolean isComplexData = false;
189 if ( null != complexData ) {
190 isComplexData = true;
191 }
192 return isComplexData;
193 }
194
195 /**
196 * @return
197 */
198 public boolean isLiteralData() {
199 boolean isLiteralData = false;
200 if ( null != literalData ) {
201 isLiteralData = true;
202 }
203 return isLiteralData;
204 }
205 }