    001    //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.4_testing/src/org/deegree/portal/context/GeneralExtension.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.portal.context;
    037
    038    import java.net.URL;
    039
    040    /**
    041     * this class encapsulates the deegree specific extensions of the general section of a web map context document. this is
    042     * a description of the GUI including the used modules (<tt>Frontend</tt>) and the parameters to control the map view (
    043     * <tt>Marshallable</tt>).
    044     *
    045     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
    046     * @author last edited by: $Author: apoth $
    047     *
    048     * @version $Revision: 21693 $, $Date: 2010-01-03 15:07:54 +0100 (So, 03. Jan 2010) $
    049     */
    050    public class GeneralExtension {
    051        private Frontend frontend;
    052
    053        private MapParameter mapParameter;
    054
    055        private IOSettings iOSettings;
    056
    057        private AuthentificationSettings authSettings;
    058
    059        private boolean transparent = true;
    060
    061        private String bgColor = "0xFFFFFF";
    062
    063        private String mode;
    064
    065        private Node layerTreeRoot;
    066
    067        private MapModel mapModel;
    068
    069        private URL xslt;
    070
    071        /**
    072         * Creates a new GeneralExtension object.
    073         *
    074         * @param iOSettings
    075         *
    076         * @param frontend
    077         * @param mapParameter
    078         * @param authSettings
    079         * @param mode
    080         * @param layerTreeRoot
    081         */
    082        public GeneralExtension( IOSettings iOSettings, Frontend frontend, MapParameter mapParameter,
    083                                 AuthentificationSettings authSettings, String mode, Node layerTreeRoot ) {
    084            setFrontend( frontend );
    085            setMapParameter( mapParameter );
    086            setIOSettings( iOSettings );
    087            setAuthentificationSettings( authSettings );
    088            setLayerTreeRoot( layerTreeRoot );
    089            this.mode = mode;
    090
    091        }
    092
    093        /**
    094         * Creates a new GeneralExtension object.
    095         *
    096         * @param iOSettings
    097         *
    098         * @param frontend
    099         * @param mapParameter
    100         * @param authSettings
    101         * @param mode
    102         * @param layerTreeRoot
    103         * @param mapModel
    104         * @param xslt
    105         */
    106        public GeneralExtension( IOSettings iOSettings, Frontend frontend, MapParameter mapParameter,
    107                                 AuthentificationSettings authSettings, String mode, Node layerTreeRoot, MapModel mapModel,
    108                                 URL xslt ) {
    109            this( iOSettings, frontend, mapParameter, authSettings, mode, layerTreeRoot );
    110            this.mapModel = mapModel;
    111            this.xslt = xslt;
    112        }
    113
    114        /**
    115         * @return the xslt
    116         */
    117        public URL getXslt() {
    118            return xslt;
    119        }
    120
    121        /**
    122         * @param xslt
    123         *            the xslt to set
    124         */
    125        public void setXslt( URL xslt ) {
    126            this.xslt = xslt;
    127        }
    128
    129        /**
    130         * @return the mapModel
    131         */
    132        public MapModel getMapModel() {
    133            return mapModel;
    134        }
    135
    136        /**
    137         * @param mapModel
    138         *            the mapModel to set
    139         */
    140        public void setMapModel( MapModel mapModel ) {
    141            this.mapModel = mapModel;
    142        }
    143
    144        /**
    145         * returns true if the maps background should be transparent
    146         *
    147         * @return <code>true</code> if the maps background should be transparent
    148         */
    149        public boolean isTransparent() {
    150            return transparent;
    151        }
    152
    153        /**
    154         * @see #isTransparent()
    155         * @param transparent
    156         */
    157        public void setTransparent( boolean transparent ) {
    158            this.transparent = transparent;
    159        }
    160
    161        /**
    162         * returns the desired background color of the map
    163         *
    164         * @return the desired background color of the map
    165         */
    166        public String getBgColor() {
    167            return bgColor;
    168        }
    169
    170        /**
    171         * @see #getBgColor()
    172         * @param bgColor
    173         */
    174        public void setBgColor( String bgColor ) {
    175            this.bgColor = bgColor;
    176        }
    177
    178        /**
    179         * returns the frontend (GUI) description encapsulating objekt
    180         *
    181         * @return the frontend (GUI) description encapsulating objekt
    182         */
    183        public Frontend getFrontend() {
    184            return frontend;
    185        }
    186
    187        /**
    188         * sets the frontend (GUI) description encapsulating objekt
    189         *
    190         * @param frontend
    191         *            <tt>Frontend</tt>
    192         */
    193        public void setFrontend( Frontend frontend ) {
    194            this.frontend = frontend;
    195        }
    196
    197        /**
    198         * returns the parameters describing the control options for the map
    199         *
    200         * @return <tt>MapParameter</tt> encapsulating several control params
    201         */
    202        public MapParameter getMapParameter() {
    203            return mapParameter;
    204        }
    205
    206        /**
    207         * sets the parameters describing the control options for the map
    208         *
    209         * @param mapParameter
    210         *            <tt>MapParameter</tt> encapsulating several control params
    211         */
    212        public void setMapParameter( MapParameter mapParameter ) {
    213            this.mapParameter = mapParameter;
    214        }
    215
    216        /**
    217         * @return Returns the iOSettings.
    218         */
    219        public IOSettings getIOSettings() {
    220            return iOSettings;
    221        }
    222
    223        /**
    224         * @param settings
    225         *            The iOSettings to set.
    226         */
    227        public void setIOSettings( IOSettings settings ) {
    228            iOSettings = settings;
    229        }
    230
    231        /**
    232         * @return the authenication settings
    233         */
    234        public AuthentificationSettings getAuthentificationSettings() {
    235            return authSettings;
    236        }
    237
    238        /**
    239         * @param authSettings
    240         *            the new authentication settings.
    241         */
    242        public void setAuthentificationSettings( AuthentificationSettings authSettings ) {
    243            this.authSettings = authSettings;
    244        }
    245
    246        /**
    247         * returns the current mode of a map client using a WMC. A mode defines the action that occurs if a user performs a
    248         * mouse action on the map
    249         *
    250         * @return the current mode of a map client using a WMC. A mode defines the action that occurs if a user performs a
    251         *         mouse action on the map
    252         */
    253        public String getMode() {
    254            return mode;
    255        }
    256
    257        /**
    258         * @see #getMode()
    259         * @param mode
    260         */
    261        public void setMode( String mode ) {
    262            this.mode = mode;
    263        }
    264
    265        /**
    266         * @param layerTreeRoot
    267         *            to set
    268         */
    269        public void setLayerTreeRoot( Node layerTreeRoot ) {
    270            this.layerTreeRoot = layerTreeRoot;
    271        }
    272
    273        /**
    274         * @return the xml-element containing the layer tree root.
    275         */
    276        public Node getLayerTreeRoot() {
    277            return layerTreeRoot;
    278        }
    279
    280    }