001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/owscommon_new/Operation.java $
002 /*---------------- FILE HEADER ------------------------------------------
003 This file is part of deegree.
004 Copyright (C) 2001-2006 by:
005 Department of Geography, University of Bonn
006 http://www.giub.uni-bonn.de/deegree/
007 lat/lon GmbH
008 http://www.lat-lon.de
009 This library is free software; you can redistribute it and/or
010 modify it under the terms of the GNU Lesser General Public
011 License as published by the Free Software Foundation; either
012 version 2.1 of the License, or (at your option) any later version.
013 This library is distributed in the hope that it will be useful,
014 but WITHOUT ANY WARRANTY; without even the implied warranty of
015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016 Lesser General Public License for more details.
017 You should have received a copy of the GNU Lesser General Public
018 License along with this library; if not, write to the Free Software
019 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020 Contact:
021 Andreas Poth
022 lat/lon GmbH
023 Aennchenstraße 19
024 53177 Bonn
025 Germany
026 E-Mail: poth@lat-lon.de
027 Jens Fitzke
028 lat/lon GmbH
029 Aennchenstraße 19
030 53177 Bonn
031 Germany
032 E-Mail: jens.fitzke@uni-bonn.de
033 ---------------------------------------------------------------------------*/
034 package org.deegree.owscommon_new;
035
036 import java.util.List;
037
038 import org.deegree.datatypes.QualifiedName;
039
040 /**
041 * <code>Operation</code> stores the contents of an Operation
042 * element according to the OWS common specification version 1.0.0.
043 *
044 * @author <a href="mailto:schmitz@lat-lon.de">Andreas Schmitz</a>
045 * @author last edited by: $Author: bezema $
046 *
047 * @version 2.0, $Revision: 6259 $, $Date: 2007-03-20 10:15:15 +0100 (Di, 20 Mär 2007) $
048 *
049 * @since 2.0
050 */
051
052 public class Operation {
053
054 private QualifiedName name = null;
055
056 private List<DCP> dcpList = null;
057
058 private List<Parameter> parameters = null;
059
060 private List<DomainType> constraints = null;
061
062 private Object metadata = null;
063
064 private String description = null;
065
066 /**
067 * Standard constructor that initializes all encapsulated data.
068 *
069 * @param name
070 * @param dcpList
071 * @param parameters
072 * @param constraints
073 * @param metadata
074 * @param description
075 */
076 public Operation( QualifiedName name, List<DCP> dcpList, List<Parameter> parameters,
077 List<DomainType> constraints, Object metadata, String description ) {
078 this.name = name;
079 this.dcpList = dcpList;
080 this.parameters = parameters;
081 this.constraints = constraints;
082 this.metadata = metadata;
083 this.description = description;
084 }
085
086 /**
087 * @return Returns the constraints.
088 */
089 public List<DomainType> getConstraints() {
090 return constraints;
091 }
092
093 /**
094 * @return Returns the dCP.
095 */
096 public List<DCP> getDCP() {
097 return dcpList;
098 }
099
100 /**
101 * @return Returns the description.
102 */
103 public String getDescription() {
104 return description;
105 }
106
107 /**
108 * @return Returns the metadata.
109 */
110 public Object getMetadata() {
111 return metadata;
112 }
113
114 /**
115 * @return Returns the parameters.
116 */
117 public List<Parameter> getParameters() {
118 return parameters;
119 }
120
121 /**
122 * @param name
123 * @return the <code>DomainType</code> with the specified name or null, if there is no
124 * constraint with that name.
125 */
126 public DomainType getConstraint( QualifiedName name ) {
127 for ( DomainType constraint : constraints ) {
128 if ( constraint.getName().equals( name ) ) {
129 return constraint;
130 }
131 }
132
133 return null;
134 }
135
136 /**
137 * @param name
138 * @return the <code>Parameter</code> with the specified name or null, if there is no
139 * parameter with that name. This method only tests Parameters that are <code>DomainType</code>s.
140 */
141 public Parameter getParameter( QualifiedName name ) {
142 for ( Parameter parameter : parameters ) {
143 if ( parameter instanceof DomainType ) {
144 if ( ( (DomainType) parameter ).getName().equals( name ) ) {
145 return parameter;
146 }
147 }
148 }
149
150 return null;
151 }
152
153 /**
154 * @return Returns the name.
155 */
156 public QualifiedName getName() {
157 return name;
158 }
159
160 }
161
162 /* ********************************************************************
163 Changes to this class. What the people have been up to:
164 $Log$
165 Revision 1.5 2006/11/03 12:02:01 schmitz
166 Fixed documentation and formatting.
167
168 Revision 1.4 2006/08/29 13:02:32 poth
169 code formating
170
171 Revision 1.3 2006/08/29 09:48:59 poth
172 code formating
173
174 Revision 1.2 2006/08/24 06:43:04 poth
175 File header corrected
176
177 Revision 1.1 2006/08/23 07:10:21 schmitz
178 Renamed the owscommon_neu package to owscommon_new.
179
180 Revision 1.2 2006/08/08 10:21:52 schmitz
181 Parser is finished, as well as the iso XMLFactory.
182
183 Revision 1.1 2006/08/01 11:46:07 schmitz
184 Added data classes for the new OWS common capabilities framework
185 according to the OWS 1.0.0 common specification.
186 Added name to service identification.
187
188
189
190 ********************************************************************** */