001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/ogcwebservices/wps/describeprocess/OutputDescription.java $
002    /*----------------    FILE HEADER  ------------------------------------------
003    
004     This file is part of deegree.
005     Copyright (C) 2001-2008 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 org.deegree.datatypes.Code;
047    import org.deegree.ogcwebservices.wps.WPSDescription;
048    
049    /**
050     * OutputDescription.java
051     * 
052     * Created on 09.03.2006. 22:37:03h
053     * 
054     * Description of a process Output.
055     * 
056     * @author <a href="mailto:christian@kiehle.org">Christian Kiehle</a>
057     * @author <a href="mailto:christian.heier@gmx.de">Christian Heier</a>
058     * @author last edited by: $Author:wanhoff$
059     * 
060     * @version $Revision: 9345 $, $Date:20.03.2007$
061     */
062    public class OutputDescription extends WPSDescription {
063    
064        /**
065         * Indicates that this Output shall be a complex data structure (such as a GML fragment) that is
066         * returned by the execute operation response. The value of this complex data structure can be
067         * output either embedded in the execute operation response or remotely accessible to the
068         * client. When this output form is indicated, the process produces only a single output, and
069         * "store" is "false, the output shall be returned directly, without being embedded in the XML
070         * document that is otherwise provided by execute operation response. This element also provides
071         * a list of format, encoding, and schema combinations supported for this output. The client can
072         * select from among the identified combinations of formats, encodings, and schemas to specify
073         * the form of the output. This allows for complete specification of particular versions of GML,
074         * or image formats.
075         */
076        protected ComplexData complexOutput;
077    
078        /**
079         * Indicates that this output shall be a simple literal value (such as an integer) that is
080         * embedded in the execute response, and describes that output.
081         */
082        protected LiteralOutput literalOutput;
083    
084        /**
085         * Indicates that this output shall be a BoundingBox data structure, and provides a list of the
086         * CRSs supported in these Bounding Boxes. This element shall be included when this process
087         * output is an ows:BoundingBox element.
088         */
089        protected SupportedCRSs boundingBoxOutput;
090    
091        /**
092         * 
093         * @param identifier
094         * @param title
095         * @param _abstract
096         * @param boundingBoxOutput
097         * @param complexOutput
098         * @param literalOutput
099         */
100        public OutputDescription( Code identifier, String title, String _abstract,
101                                  SupportedCRSs boundingBoxOutput, ComplexData complexOutput,
102                                  LiteralOutput literalOutput ) {
103            super( identifier, title, _abstract );
104            this.boundingBoxOutput = boundingBoxOutput;
105            this.complexOutput = complexOutput;
106            this.literalOutput = literalOutput;
107        }
108    
109        /**
110         * @return Returns the complexOutput.
111         */
112        public ComplexData getComplexOutput() {
113            return complexOutput;
114        }
115    
116        /**
117         * @param value
118         *            The complexOutput to set.
119         */
120        public void setComplexOutput( ComplexData value ) {
121            this.complexOutput = value;
122        }
123    
124        /**
125         * Gets the value of the literalOutput property.
126         * 
127         * @return the value of the literalOutput property.
128         */
129        public LiteralOutput getLiteralOutput() {
130            return literalOutput;
131        }
132    
133        /**
134         * Sets the value of the literalOutput property.
135         * 
136         * @param value
137         */
138        public void setLiteralOutput( LiteralOutput value ) {
139            this.literalOutput = value;
140        }
141    
142        /**
143         * Gets the value of the boundingBoxOutput property.
144         * 
145         * @return possible object is {@link SupportedCRSs  }
146         */
147        public SupportedCRSs getBoundingBoxOutput() {
148            return boundingBoxOutput;
149        }
150    
151        /**
152         * @param value
153         *            The boundingBoxOutput to set.
154         */
155        public void setBoundingBoxOutput( SupportedCRSs value ) {
156            this.boundingBoxOutput = value;
157        }
158    
159    }