001 //$HeadURL: http://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/ogcwebservices/wps/describeprocess/ComplexData.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
037 package org.deegree.ogcwebservices.wps.describeprocess;
038
039 import java.util.ArrayList;
040 import java.util.List;
041
042 /**
043 * ComplexData.java
044 *
045 * Created on 09.03.2006. 22:40:34h
046 *
047 * Indicates that this input shall be a complex data structure (such as a GML document), and
048 * provides a list of formats and encodings supported for this Input. The value of this ComplexData
049 * structure can be input either embedded in the Execute request or remotely accessible to the
050 * server. This element also provides a list of formats, encodings, and schemas supported for this
051 * output. The client can select from among the identified combinations of formats, encodings, and
052 * schemas to specify the form of the output. This allows for complete specification of particular
053 * versions of GML, or image formats.
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: 18195 $, $Date:20.03.2007$
060 */
061 public class ComplexData {
062
063 /**
064 *
065 */
066 protected List<SupportedComplexData> supportedComplexData;
067
068 /**
069 * Reference to the default encoding supported for this input or output. The process will expect
070 * input using or produce output using this encoding unless the Execute request specifies
071 * another supported encoding. This parameter shall be included when the default Encoding is
072 * other than the encoding of the XML response document (e.g. UTF-8). This parameter shall be
073 * omitted when there is no Encoding required for this input/output.
074 */
075 protected String defaultEncoding;
076
077 /**
078 * Identifier of the default Format supported for this input or output. The process shall expect
079 * input in or produce output in this Format unless the Execute request specifies another
080 * supported Format. This parameter shall be included when the default Format is other than
081 * text/XML. This parameter is optional if the Format is text/XML.
082 */
083 protected String defaultFormat;
084
085 /**
086 * Reference to the definition of the default XML element or type supported for this input or
087 * output. This XML element or type shall be defined in a separate XML Schema Document. The
088 * process shall expect input in or produce output conformant with this XML element or type
089 * unless the Execute request specifies another supported XML element or type. This parameter
090 * shall be omitted when there is no XML Schema associated with this input/output (e.g., a GIF
091 * file). This parameter shall be included when this input/output is XML encoded using an XML
092 * schema. When included, the input/output shall validate against the referenced XML Schema.
093 * Note: If the input/output uses a profile of a larger schema, the server administrator should
094 * provide that schema profile for validation purposes.
095 */
096 protected String defaultSchema;
097
098 /**
099 * @param defaultEncoding
100 * @param defaultFormat
101 * @param defaultSchema
102 * @param supportedComplexData
103 */
104 public ComplexData( String defaultEncoding, String defaultFormat, String defaultSchema,
105 List<SupportedComplexData> supportedComplexData ) {
106 this.defaultEncoding = defaultEncoding;
107 this.defaultFormat = defaultFormat;
108 this.defaultSchema = defaultSchema;
109 this.supportedComplexData = supportedComplexData;
110 }
111
112 /**
113 * @return Returns the supportedComplexData.
114 */
115 public List<SupportedComplexData> getSupportedComplexData() {
116 if ( supportedComplexData == null ) {
117 supportedComplexData = new ArrayList<SupportedComplexData>();
118 }
119 return this.supportedComplexData;
120 }
121
122 /**
123 * @return Returns the defaultEncoding.
124 */
125 public String getDefaultEncoding() {
126 return defaultEncoding;
127 }
128
129 /**
130 * @param value
131 * The defaultEncoding to set.
132 */
133 public void setDefaultEncoding( String value ) {
134 this.defaultEncoding = value;
135 }
136
137 /**
138 * @return the defaultFormat.
139 */
140 public String getDefaultFormat() {
141 return defaultFormat;
142 }
143
144 /**
145 * @param value
146 * The defaultFormat to set.
147 */
148 public void setDefaultFormat( String value ) {
149 this.defaultFormat = value;
150 }
151
152 /**
153 * @return the defaultSchema.
154 */
155 public String getDefaultSchema() {
156 return defaultSchema;
157 }
158
159 /**
160 * @param value
161 * The defaultSchema to set.
162 */
163 public void setDefaultSchema( String value ) {
164 this.defaultSchema = value;
165 }
166
167 }