    001    //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.4_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    }