001 //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/ogcwebservices/sos/configuration/MeasurementConfiguration.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.sos.configuration; 037 038 import java.net.URL; 039 040 import org.deegree.datatypes.QualifiedName; 041 import org.deegree.model.filterencoding.Filter; 042 043 /** 044 * deegree2/ 045 * 046 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a> 047 * @author <a href="mailto:mkulbe@lat-lon.de">Matthias Kulbe </a> 048 */ 049 public class MeasurementConfiguration { 050 051 private String id = null; 052 053 private String sourceServerId = null; 054 055 private String phenomenon = null; 056 057 private QualifiedName featureTypeName = null; 058 059 private Filter constraint = null; 060 061 private QualifiedName timePropertyName = null; 062 063 private QualifiedName measurandPropertyName = null; 064 065 private String timeResolution = null; 066 067 private String timeResolutionType = null; 068 069 private URL XSLTScriptSource = null; 070 071 /** 072 * 073 * @param id 074 * @param sourceServerId 075 * @param phenomenon 076 * @param featureTypeName 077 * @param constraint 078 * @param timePropertyName 079 * @param measurandPropertyName 080 * @param timeResolution 081 * @param timeResolutionType 082 * @param XSLTScriptSource 083 */ 084 public MeasurementConfiguration( String id, String sourceServerId, String phenomenon, 085 QualifiedName featureTypeName, Filter constraint, 086 QualifiedName timePropertyName, 087 QualifiedName measurandPropertyName, String timeResolution, 088 String timeResolutionType, URL XSLTScriptSource ) { 089 this.id = id; 090 this.sourceServerId = sourceServerId; 091 this.phenomenon = phenomenon; 092 this.featureTypeName = featureTypeName; 093 this.constraint = constraint; 094 this.timePropertyName = timePropertyName; 095 this.measurandPropertyName = measurandPropertyName; 096 this.timeResolution = timeResolution; 097 this.timeResolutionType = timeResolutionType; 098 this.XSLTScriptSource = XSLTScriptSource; 099 100 } 101 102 /** 103 * 104 * @return sourceServerId 105 */ 106 public String getSourceServerId() { 107 return sourceServerId; 108 } 109 110 /** 111 * 112 * @return featureTypeName 113 */ 114 public QualifiedName getFeatureTypeName() { 115 return featureTypeName; 116 } 117 118 /** 119 * 120 * @return constraint 121 */ 122 public Filter getConstraint() { 123 return constraint; 124 } 125 126 /** 127 * 128 * @return id 129 */ 130 public String getId() { 131 return id; 132 } 133 134 /** 135 * 136 * @return measurandPropertyName 137 */ 138 public QualifiedName getMeasurandPropertyName() { 139 return measurandPropertyName; 140 } 141 142 /** 143 * 144 * @return phenomenon 145 */ 146 public String getPhenomenon() { 147 return phenomenon; 148 } 149 150 /** 151 * 152 * @return timePropertyName 153 */ 154 public QualifiedName getTimePropertyName() { 155 return timePropertyName; 156 } 157 158 /** 159 * 160 * @return timeResolution 161 */ 162 public String getTimeResolution() { 163 return timeResolution; 164 } 165 166 /** 167 * 168 * @return timeResolutionType 169 */ 170 public String getTimeResolutionType() { 171 return timeResolutionType; 172 } 173 174 /** 175 * 176 * @return XSLTScriptSource 177 */ 178 public URL getXSLTScriptSource() { 179 return XSLTScriptSource; 180 } 181 182 /** 183 * overwrites the equals function. Two instances of <code>MeasurementConfiguration</code> are 184 * equal if their IDs are equal 185 * 186 * @param obj 187 */ 188 public boolean equals( Object obj ) { 189 if ( !( obj instanceof MeasurementConfiguration ) ) { 190 return false; 191 } 192 if ( this.getId().equals( ( (MeasurementConfiguration) obj ).getId() ) ) { 193 return true; 194 } 195 return false; 196 } 197 }