001    // $HeadURL:
002    // /cvsroot/deegree/src/org/deegree/ogcwebservices/getcapabilities/Contents.java,v
003    // 1.1 2004/06/23 11:55:40 mschneider Exp $
004    /*----------------------------------------------------------------------------
005     This file is part of deegree, http://deegree.org/
006     Copyright (C) 2001-2009 by:
007       Department of Geography, University of Bonn
008     and
009       lat/lon GmbH
010    
011     This library is free software; you can redistribute it and/or modify it under
012     the terms of the GNU Lesser General Public License as published by the Free
013     Software Foundation; either version 2.1 of the License, or (at your option)
014     any later version.
015     This library is distributed in the hope that it will be useful, but WITHOUT
016     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
017     FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
018     details.
019     You should have received a copy of the GNU Lesser General Public License
020     along with this library; if not, write to the Free Software Foundation, Inc.,
021     59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
022    
023     Contact information:
024    
025     lat/lon GmbH
026     Aennchenstr. 19, 53177 Bonn
027     Germany
028     http://lat-lon.de/
029    
030     Department of Geography, University of Bonn
031     Prof. Dr. Klaus Greve
032     Postfach 1147, 53001 Bonn
033     Germany
034     http://www.geographie.uni-bonn.de/deegree/
035    
036     e-mail: info@deegree.org
037    ----------------------------------------------------------------------------*/
038    package org.deegree.model.filterencoding.capabilities;
039    
040    /**
041     * FilterCapabilitiesBean used to represent <code>Filter<code> expressions according to the
042     * 1.0.0 as well as the 1.1.1 <code>Filter Encoding Implementation Specification</code>.
043     *
044     *
045     * @author <a href="mailto:tfr@users.sourceforge.net">Torsten Friebe</a>
046     * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider</a>
047     *
048     * @author last edited by: $Author: mschneider $
049     *
050     * @version 2.0, $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
051     *
052     * @since 2.0
053     */
054    public class FilterCapabilities {
055    
056        /**
057         *
058         */
059        public static final String VERSION_100 = "1.0.0";
060    
061        /**
062         *
063         */
064        public static final String VERSION_110 = "1.1.0";
065    
066        private ScalarCapabilities scalarCapabilities;
067    
068        private SpatialCapabilities spatialCapabilities;
069    
070        private IdCapabilities idCapabilities;
071    
072        private String version;
073    
074        /**
075         * Constructs a new <code>FilterCapabilities</code> -instance with the given parameters. Used
076         * for filter expressions according to the 1.0.0 specification that don't have an
077         * <code>Id_Capabilities</code> section.
078         *
079         * @param scalarCapabilities
080         * @param spatialCapabilities
081         */
082        public FilterCapabilities( ScalarCapabilities scalarCapabilities, SpatialCapabilities spatialCapabilities ) {
083            this.scalarCapabilities = scalarCapabilities;
084            this.spatialCapabilities = spatialCapabilities;
085            this.version = VERSION_100;
086        }
087    
088        /**
089         * Constructs a new <code>FilterCapabilities</code> -instance with the given parameters. Used
090         * for filter expressions according to the 1.1.0 specification that have an
091         * <code>Id_Capabilities</code> section.
092         *
093         * @param scalarCapabilities
094         * @param spatialCapabilities
095         * @param idCapabilities
096         */
097        public FilterCapabilities( ScalarCapabilities scalarCapabilities, SpatialCapabilities spatialCapabilities,
098                                   IdCapabilities idCapabilities ) {
099            this.scalarCapabilities = scalarCapabilities;
100            this.spatialCapabilities = spatialCapabilities;
101            this.idCapabilities = idCapabilities;
102            this.version = VERSION_110;
103        }
104    
105        /**
106         * @return scalarCapabilities
107         *
108         */
109        public ScalarCapabilities getScalarCapabilities() {
110            return scalarCapabilities;
111        }
112    
113        /**
114         * @return spatialCapabilities
115         *
116         */
117        public SpatialCapabilities getSpatialCapabilities() {
118            return spatialCapabilities;
119        }
120    
121        /**
122         * @param capabilities
123         *
124         */
125        public void setScalarCapabilities( ScalarCapabilities capabilities ) {
126            scalarCapabilities = capabilities;
127        }
128    
129        /**
130         * @param capabilities
131         *
132         */
133        public void setSpatialCapabilities( SpatialCapabilities capabilities ) {
134            spatialCapabilities = capabilities;
135        }
136    
137        /**
138         * @return Returns the idCapabilities.
139         */
140        public IdCapabilities getIdCapabilities() {
141            return idCapabilities;
142        }
143    
144        /**
145         * @param idCapabilities
146         *            The idCapabilities to set.
147         */
148        public void setIdCapabilities( IdCapabilities idCapabilities ) {
149            this.idCapabilities = idCapabilities;
150        }
151    
152        /**
153         * @return Returns the version.
154         */
155        public String getVersion() {
156            return version;
157        }
158    }