001 //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/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 }