001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/portal/context/GeneralExtension.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/deegree/
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     Aennchenstr. 19
030     53115 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.portal.context;
045    
046    /**
047     * this class encapsulates the deegree specific extensions of the general section of a web map
048     * context document. this is a description of the GUI including the used modules (<tt>Frontend</tt>)
049     * and the parameters to control the map view (<tt>Marshallable</tt>).
050     * 
051     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
052     * @author last edited by: $Author: apoth $
053     *
054     * @version $Revision: 9346 $, $Date: 2007-12-27 17:39:07 +0100 (Do, 27 Dez 2007) $
055     */
056    public class GeneralExtension {
057        private Frontend frontend = null;
058    
059        private MapParameter mapParameter = null;
060    
061        private IOSettings iOSettings = null;
062    
063        private AuthentificationSettings authSettings = null;
064    
065        private boolean transparent = true;
066    
067        private String bgColor = "0xFFFFFF";
068    
069        private String mode = null;
070    
071        private Node layerTreeRoot = null;
072    
073        /**
074         * Creates a new GeneralExtension object.
075         * 
076         * @param frontend
077         * @param mapParameter
078         */
079        public GeneralExtension( IOSettings iOSettings, Frontend frontend, MapParameter mapParameter,
080                                 AuthentificationSettings authSettings, String mode, Node layerTreeRoot ) {
081            setFrontend( frontend );
082            setMapParameter( mapParameter );
083            setIOSettings( iOSettings );
084            setAuthentificationSettings( authSettings );
085            setLayerTreeRoot( layerTreeRoot );
086            this.mode = mode;
087    
088        }
089    
090        /**
091         * returns true if the maps background should be transparent
092         * 
093         * @return <code>true</code> if the maps background should be transparent
094         */
095        public boolean isTransparent() {
096            return transparent;
097        }
098    
099        /**
100         * @see #isTransparent()
101         * @param transparent
102         */
103        public void setTransparent( boolean transparent ) {
104            this.transparent = transparent;
105        }
106    
107        /**
108         * returns the desired background color of the map
109         * 
110         * @return the desired background color of the map
111         */
112        public String getBgColor() {
113            return bgColor;
114        }
115    
116        /**
117         * @see #getBgColor()
118         * @param bgColor
119         */
120        public void setBgColor( String bgColor ) {
121            this.bgColor = bgColor;
122        }
123    
124        /**
125         * returns the frontend (GUI) description encapsulating objekt
126         * 
127         * @return the frontend (GUI) description encapsulating objekt
128         */
129        public Frontend getFrontend() {
130            return frontend;
131        }
132    
133        /**
134         * sets the frontend (GUI) description encapsulating objekt
135         * 
136         * @param frontend
137         *            <tt>Frontend</tt>
138         */
139        public void setFrontend( Frontend frontend ) {
140            this.frontend = frontend;
141        }
142    
143        /**
144         * returns the parameters describing the control options for the map
145         * 
146         * @return <tt>MapParameter</tt> encapsulating several control params
147         */
148        public MapParameter getMapParameter() {
149            return mapParameter;
150        }
151    
152        /**
153         * sets the parameters describing the control options for the map
154         * 
155         * @param mapParameter
156         *            <tt>MapParameter</tt> encapsulating several control params
157         */
158        public void setMapParameter( MapParameter mapParameter ) {
159            this.mapParameter = mapParameter;
160        }
161    
162        /**
163         * @return Returns the iOSettings.
164         */
165        public IOSettings getIOSettings() {
166            return iOSettings;
167        }
168    
169        /**
170         * @param settings
171         *            The iOSettings to set.
172         */
173        public void setIOSettings( IOSettings settings ) {
174            iOSettings = settings;
175        }
176    
177        public AuthentificationSettings getAuthentificationSettings() {
178            return authSettings;
179        }
180    
181        public void setAuthentificationSettings( AuthentificationSettings authSettings ) {
182            this.authSettings = authSettings;
183        }
184    
185        /**
186         * returns the current mode of a map client using a WMC. A mode defines the action that occurs
187         * if a user performs a mouse action on the map
188         * 
189         * @return the current mode of a map client using a WMC. A mode defines the action that occurs
190         *         if a user performs a mouse action on the map
191         */
192        public String getMode() {
193            return mode;
194        }
195    
196        /**
197         * @see #getMode()
198         * @param mode
199         */
200        public void setMode( String mode ) {
201            this.mode = mode;
202        }
203    
204        public void setLayerTreeRoot( Node layerTreeRoot ) {
205            this.layerTreeRoot = layerTreeRoot;
206        }
207    
208        public Node getLayerTreeRoot() {
209            return layerTreeRoot;
210        }
211    
212    }