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