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