001    //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/owscommon/OWSCommonCapabilities.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    package org.deegree.owscommon;
037    
038    import org.deegree.ogcwebservices.getcapabilities.Contents;
039    import org.deegree.ogcwebservices.getcapabilities.OGCCapabilities;
040    import org.deegree.ogcwebservices.getcapabilities.OperationsMetadata;
041    import org.deegree.ogcwebservices.getcapabilities.ServiceIdentification;
042    import org.deegree.ogcwebservices.getcapabilities.ServiceProvider;
043    
044    /**
045     * Represents a configuration for an OGC-Webservice according to the OWS Common Implementation
046     * Specification 0.2, i.e. it consists of the following parts:
047     * <ul>
048     * <li>ServiceIdentification (corresponds to and expands the SV_ServiceIdentification class in ISO
049     * 19119)
050     * <li>ServiceProvider (corresponds to and expands the SV_ServiceProvider class in ISO 19119)
051     * <li>OperationsMetadata (contains set of Operation elements that each corresponds to and expand
052     * the SV_OperationsMetadata class in ISO 19119)
053     * <li>Contents (whenever relevant, contains set of elements that each corresponds to the
054     * MD_DataIdentification class in ISO 19119 and 19115)
055     * </ul>
056     *
057     * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider </a>
058     * @author last edited by: $Author: mschneider $
059     *
060     * @version $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18 Jun 2009) $
061     */
062    public abstract class OWSCommonCapabilities extends OGCCapabilities {
063    
064        private ServiceIdentification serviceIdentification;
065    
066        private ServiceProvider serviceProvider;
067    
068        private OperationsMetadata operationsMetadata;
069    
070        private Contents contents;
071    
072        /**
073         * Constructor to be used from the implementing subclasses.
074         *
075         * @param version
076         * @param updateSequence
077         * @param serviceIdentification
078         * @param serviceProvider
079         * @param operationsMetadata
080         */
081        protected OWSCommonCapabilities( String version, String updateSequence,
082                                         ServiceIdentification serviceIdentification, ServiceProvider serviceProvider,
083                                         OperationsMetadata operationsMetadata, Contents contents ) {
084            super( version, updateSequence );
085            this.serviceIdentification = serviceIdentification;
086            this.serviceProvider = serviceProvider;
087            this.operationsMetadata = operationsMetadata;
088            this.contents = contents;
089        }
090    
091        /**
092         * @return Returns the contents.
093         */
094        public Contents getContents() {
095            return contents;
096        }
097    
098        /**
099         * @param contents
100         *            The contents to set.
101         */
102        public void setContents( Contents contents ) {
103            this.contents = contents;
104        }
105    
106        /**
107         * @return Returns the operationsMetadata.
108         */
109        public OperationsMetadata getOperationsMetadata() {
110            return operationsMetadata;
111        }
112    
113        /**
114         * @param operationsMetadata
115         *            The operationsMetadata to set.
116         */
117        public void setOperationsMetadata( OperationsMetadata operationsMetadata ) {
118            this.operationsMetadata = operationsMetadata;
119        }
120    
121        /**
122         * @return Returns the serviceIdentification.
123         */
124        public ServiceIdentification getServiceIdentification() {
125            return serviceIdentification;
126        }
127    
128        /**
129         * @param serviceIdentification
130         *            The serviceIdentification to set.
131         */
132        public void setServiceIdentification( ServiceIdentification serviceIdentification ) {
133            this.serviceIdentification = serviceIdentification;
134        }
135    
136        /**
137         * @return Returns the serviceProvider.
138         */
139        public ServiceProvider getServiceProvider() {
140            return serviceProvider;
141        }
142    
143        /**
144         * @param serviceProvider
145         *            The serviceProvider to set.
146         */
147        public void setServiceProvider( ServiceProvider serviceProvider ) {
148            this.serviceProvider = serviceProvider;
149        }
150    
151    }