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