001 //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/portal/context/Frontend.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 /** 039 * this interface the description the access to the front end elements of a GUI setting up on a web map context. this is 040 * a deegree specific form of description. beside the name of the central controlling element an implementing class 041 * enables access to fife areas the GUI is splitted in. 042 * 043 * @version $Revision: 21544 $ 044 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a> 045 */ 046 public interface Frontend { 047 048 /** 049 * @return the name of the central controller of the front end. depending on the implementation this may be the name 050 * of a HTML/JSP-page a java class or something else. 051 */ 052 public String getController(); 053 054 /** 055 * @return the description of the west GUI area 056 */ 057 public GUIArea getWest(); 058 059 /** 060 * @return the description of the east GUI area 061 */ 062 public GUIArea getEast(); 063 064 /** 065 * @return the description of the south GUI area 066 */ 067 public GUIArea getSouth(); 068 069 /** 070 * @return the description of the north GUI area 071 */ 072 public GUIArea getNorth(); 073 074 /** 075 * @return the description of the central GUI area 076 * 077 */ 078 public GUIArea getCenter(); 079 080 /** 081 * sets the name of the central controller of the front end. depending on the implementation this may be the name of 082 * a HTML/JSP-page a java class or something else. 083 * 084 * @param controller 085 */ 086 public void setController( String controller ); 087 088 /** 089 * sets the description of the west GUI area 090 * 091 * @param west 092 */ 093 public void setWest( GUIArea west ); 094 095 /** 096 * sets the description of the east GUI area 097 * 098 * @param east 099 */ 100 public void setEast( GUIArea east ); 101 102 /** 103 * sets the description of the south GUI area 104 * 105 * @param south 106 */ 107 public void setSouth( GUIArea south ); 108 109 /** 110 * sets the description of the north GUI area 111 * 112 * @param north 113 */ 114 public void setNorth( GUIArea north ); 115 116 /** 117 * sets the description of the central GUI area 118 * 119 * @param center 120 */ 121 public void setCenter( GUIArea center ); 122 123 /** 124 * Returns the Modules of the given name (search order is north-east-south-west-center). 125 * 126 * @param moduleName 127 * the name of the Module to extract from this Frontend. 128 * @return an array of Modules of the given name. The array length may be 0, if no module of the 129 * given name is found. 130 */ 131 public Module[] getModulesByName( String moduleName ); 132 133 }