001 //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/ogcwebservices/wms/capabilities/WMSOperationsMetadata.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.ogcwebservices.wms.capabilities; 037 038 import java.util.ArrayList; 039 import java.util.List; 040 041 import org.deegree.ogcwebservices.getcapabilities.Operation; 042 import org.deegree.ogcwebservices.getcapabilities.OperationsMetadata; 043 import org.deegree.owscommon.OWSDomainType; 044 045 /** 046 * Represents the <code>OperationMetadata</code> part in the capabilities 047 * document of a WFS according to the 048 * <code>Web Feature Service Implementation Specification 1.1.0</code>. 049 * <p> 050 * In addition to the <code>GetCapabilities</code> operation that all 051 * <code>OWS 0.3</code> compliant services must implement, it may define some 052 * or all of the following operations: <table border="1"> 053 * <table> 054 * <tr> 055 * <td></td> 056 * <tr> 057 * </table> 058 * 059 * 060 * @see org.deegree.ogcwebservices.getcapabilities.OperationsMetadata 061 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a> 062 * @author last edited by: $Author: mschneider $ 063 * 064 * @version 1.0. $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18 Jun 2009) $ 065 * 066 * @since 2.0 067 */ 068 069 public class WMSOperationsMetadata extends OperationsMetadata { 070 071 private static final long serialVersionUID = 3864454877736817781L; 072 073 /** 074 * The name of the GetMap operation. 075 */ 076 public static final String GETMAP = "GetMap"; 077 078 /** 079 * The name of the GetMap operation. 080 */ 081 public static final String MAP = "Map"; 082 083 /** 084 * The name of the GetFeatureInfo operation. 085 */ 086 public static final String GETFEATUREINFO = "GetFeatureInfo"; 087 088 /** 089 * The name of the GetFeatureInfo operation. 090 */ 091 public static final String FEATUREINFO = "FeatureInfo"; 092 093 /** 094 * The name of the DescribeLayer operation. 095 */ 096 public static final String DESCRIBELAYER = "DescribeLayer"; 097 098 /** 099 * The name of the GetLegendGraphic operation. 100 */ 101 public static final String GETLEGENDGRAPHIC = "GetLegendGraphic"; 102 103 /** 104 * The name of the GetStyles operation. 105 */ 106 public static final String GETSTYLES = "GetStyles"; 107 108 /** 109 * The name of the PutStyles operation. 110 */ 111 public static final String PUTSTYLES = "PutStyles"; 112 113 private Operation getMap; 114 115 private Operation getFeatureInfo; 116 117 private Operation describeLayer; 118 119 private Operation getLegendGraphic; 120 121 private Operation getStyles; 122 123 private Operation putStyles; 124 125 /** 126 * Constructs a new <code>WMSOperationsMetadata</code> instance from the 127 * given parameters. 128 * 129 * @param getCapabilities 130 * @param getMap 131 * @param getFeatureInfo 132 * @param describeLayer 133 * @param getLegendGraphic 134 * @param getStyles 135 * @param putStyles 136 * @param parameters 137 * @param constraints 138 */ 139 public WMSOperationsMetadata(Operation getCapabilities, Operation getMap, Operation getFeatureInfo, 140 Operation describeLayer, Operation getLegendGraphic, 141 Operation getStyles, Operation putStyles, 142 OWSDomainType[] parameters, OWSDomainType[] constraints) { 143 super(getCapabilities, parameters, constraints); 144 this.getMap = getMap; 145 this.getFeatureInfo = getFeatureInfo; 146 this.getLegendGraphic = getLegendGraphic; 147 this.describeLayer = describeLayer; 148 this.getStyles = getStyles; 149 this.putStyles = putStyles; 150 } 151 152 /** 153 * @return all <code>Operations</code> known to the WFS. 154 * 155 */ 156 @Override 157 public Operation[] getOperations() { 158 List<Operation> list = new ArrayList<Operation>(10); 159 list.add( getMap ); 160 list.add( getCapabilitiesOperation ); 161 if ( describeLayer != null ) { 162 list.add( describeLayer ); 163 } 164 if ( getFeatureInfo != null ) { 165 list.add( getFeatureInfo ); 166 } 167 if ( getStyles != null ) { 168 list.add( getStyles ); 169 } 170 if ( putStyles != null ) { 171 list.add( putStyles ); 172 } 173 if ( getLegendGraphic != null ) { 174 list.add( getLegendGraphic ); 175 } 176 Operation[] ops = new Operation[list.size()]; 177 return list.toArray( ops ); 178 } 179 180 /** 181 * @return Returns the describeLayer. 182 */ 183 public Operation getDescribeLayer() { 184 return describeLayer; 185 } 186 187 /** 188 * @param describeLayer The describeLayer to set. 189 */ 190 public void setDescribeLayer( Operation describeLayer ) { 191 this.describeLayer = describeLayer; 192 } 193 194 /** 195 * @return Returns the getFeatureInfo. 196 */ 197 public Operation getGetFeatureInfo() { 198 return getFeatureInfo; 199 } 200 201 /** 202 * @param getFeatureInfo The getFeatureInfo to set. 203 */ 204 public void setGetFeatureInfo( Operation getFeatureInfo ) { 205 this.getFeatureInfo = getFeatureInfo; 206 } 207 208 /** 209 * @return Returns the getLegendGraphic. 210 */ 211 public Operation getGetLegendGraphic() { 212 return getLegendGraphic; 213 } 214 215 /** 216 * @param getLegendGraphic The getLegendGraphic to set. 217 */ 218 public void setGetLegendGraphic( Operation getLegendGraphic ) { 219 this.getLegendGraphic = getLegendGraphic; 220 } 221 222 /** 223 * @return Returns the getMap. 224 */ 225 public Operation getGetMap() { 226 return getMap; 227 } 228 229 /** 230 * @param getMap The getMap to set. 231 */ 232 public void setGetMap( Operation getMap ) { 233 this.getMap = getMap; 234 } 235 236 /** 237 * @return Returns the getStyles. 238 */ 239 public Operation getGetStyles() { 240 return getStyles; 241 } 242 243 /** 244 * @param getStyles The getStyles to set. 245 */ 246 public void setGetStyles( Operation getStyles ) { 247 this.getStyles = getStyles; 248 } 249 250 /** 251 * @return Returns the putStyles. 252 */ 253 public Operation getPutStyles() { 254 return putStyles; 255 } 256 257 /** 258 * @param putStyles The putStyles to set. 259 */ 260 public void setPutStyles( Operation putStyles ) { 261 this.putStyles = putStyles; 262 } 263 264 }