001 //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.3_testing/src/org/deegree/owscommon_1_1_0/Operation.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
037 package org.deegree.owscommon_1_1_0;
038
039 import java.util.ArrayList;
040 import java.util.List;
041
042 import org.deegree.framework.util.Pair;
043
044 /**
045 * <code>Operation</code> encapsulation of the operationMetadat/operation of ows 1.0.0.
046 *
047 * @author <a href="mailto:bezema@lat-lon.de">Rutger Bezema</a>
048 *
049 * @author last edited by: $Author: mschneider $
050 *
051 * @version $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
052 *
053 */
054
055 public class Operation {
056
057 private final List<Pair<String, List<DomainType>>> getURLs;
058
059 private final List<Pair<String, List<DomainType>>> postURLs;
060
061 private final List<DomainType> constraints;
062
063 private final List<DomainType> parameters;
064
065 private final List<Metadata> metadataAttribs;
066
067 private final String name;
068
069 /**
070 * @param getURLs
071 * and their constraints
072 * @param postURLs
073 * and their constraints
074 * @param parameters
075 * @param constraints
076 * @param metadataAttribs
077 * list containing metadatas.
078 * @param name
079 */
080 public Operation( List<Pair<String, List<DomainType>>> getURLs, List<Pair<String, List<DomainType>>> postURLs,
081 List<DomainType> parameters, List<DomainType> constraints, List<Metadata> metadataAttribs,
082 String name ) {
083 this.getURLs = getURLs;
084 this.postURLs = postURLs;
085 this.parameters = parameters;
086 this.constraints = constraints;
087 if ( metadataAttribs == null ) {
088 this.metadataAttribs = new ArrayList<Metadata>();
089 } else {
090 this.metadataAttribs = metadataAttribs;
091 }
092 this.name = name;
093 }
094
095 /**
096 * @return the getURLs.
097 */
098 public final List<Pair<String, List<DomainType>>> getGetURLs() {
099 return getURLs;
100 }
101
102 /**
103 * @return the postURLs.
104 */
105 public final List<Pair<String, List<DomainType>>> getPostURLs() {
106 return postURLs;
107 }
108
109 /**
110 * @return the constraints.
111 */
112 public final List<DomainType> getConstraints() {
113 return constraints;
114 }
115
116 /**
117 * @return the parameters.
118 */
119 public final List<DomainType> getParameters() {
120 return parameters;
121 }
122
123 /**
124 * @return the metadataAttribs may be empty but will never be <code>null</code>.
125 */
126 public final List<Metadata> getMetadataAttribs() {
127 return metadataAttribs;
128 }
129
130 /**
131 * @return the name.
132 */
133 public final String getName() {
134 return name;
135 }
136
137 }