001 //$HeadURL: $
002 /*---------------- FILE HEADER ------------------------------------------
003 This file is part of deegree.
004 Copyright (C) 2001-2008 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
010 This library is free software; you can redistribute it and/or
011 modify it under the terms of the GNU Lesser General Public
012 License as published by the Free Software Foundation; either
013 version 2.1 of the License, or (at your option) any later version.
014 This library is distributed in the hope that it will be useful,
015 but WITHOUT ANY WARRANTY; without even the implied warranty of
016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017 Lesser General Public License for more details.
018 You should have received a copy of the GNU Lesser General Public
019 License along with this library; if not, write to the Free Software
020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021 Contact:
022
023 Andreas Poth
024 lat/lon GmbH
025 Aennchenstr. 19
026 53177 Bonn
027 Germany
028 E-Mail: poth@lat-lon.de
029
030 Prof. Dr. Klaus Greve
031 Department of Geography
032 University of Bonn
033 Meckenheimer Allee 166
034 53115 Bonn
035 Germany
036 E-Mail: greve@giub.uni-bonn.de
037 ---------------------------------------------------------------------------*/
038
039 package org.deegree.ogcwebservices.wcts.capabilities;
040
041 import java.util.List;
042
043 import org.deegree.framework.util.Pair;
044 import org.deegree.model.crs.CoordinateSystem;
045
046 /**
047 * <code>Content</code> encapsulates the Content element of the WCTS_0.4.0 Capabilities document.
048 *
049 * @author <a href="mailto:bezema@lat-lon.de">Rutger Bezema</a>
050 *
051 * @author last edited by: $Author:$
052 *
053 * @version $Revision:$, $Date:$
054 *
055 */
056 public class Content {
057
058 private final List<String> transformations;
059
060 private final List<String> methods;
061
062 private final List<CoordinateSystem> sourceCRSs;
063
064 private final List<CoordinateSystem> targetCRSs;
065
066 private final CoverageAbilities coverageAbilities;
067
068 private final FeatureAbilities featureAbilities;
069
070 private final List<Pair<String, String>> metadata;
071
072 private final boolean userDefinedCRS;
073
074 /**
075 * @param transformations
076 * Unordered list of zero or more identifiers of well-known coordinate operations which the server can
077 * perform.
078 * @param methods
079 * Unordered list of zero or more identifiers of well-known operation methods which the server can apply
080 * in user-defined coordinate Transformations and Conversions.
081 * @param sourceCRSs
082 * Unordered list of one or more identifiers of well-known CRSs in which the server can accept sourceCRS
083 * values.
084 * @param targetCRSs
085 * Unordered list of one or more identifiers of well-known CRSs in which the server can accept targetCRS
086 * values.
087 * @param coverageAbilities
088 * Specifies coverage transformation abilities of WCTS server.
089 * @param featureAbilities
090 * Specifies feature transformation abilities of WCTS server.
091 * @param metadata
092 * Optional unordered list of additional metadata about the data served by this WCTS implementation. For
093 * example, this metadata could include more detailed definitions of the Methods, Transformations, and
094 * CRSs known to this server, perhaps in the form of a gml:Dictionary of such information.
095 * @param userDefinedCRS
096 * Specifies if this server supports user-defined Coordinate Reference Systems (CRSs).
097 */
098 public Content( List<String> transformations, List<String> methods, List<CoordinateSystem> sourceCRSs,
099 List<CoordinateSystem> targetCRSs, CoverageAbilities coverageAbilities, FeatureAbilities featureAbilities,
100 List<Pair<String, String>> metadata, boolean userDefinedCRS ) {
101 this.transformations = transformations;
102 this.methods = methods;
103 this.sourceCRSs = sourceCRSs;
104 this.targetCRSs = targetCRSs;
105 this.coverageAbilities = coverageAbilities;
106 this.featureAbilities = featureAbilities;
107 this.metadata = metadata;
108 this.userDefinedCRS = userDefinedCRS;
109 }
110
111 /**
112 * @return the transformations.
113 */
114 public final List<String> getTransformations() {
115 return transformations;
116 }
117
118 /**
119 * @return the methods.
120 */
121 public final List<String> getMethods() {
122 return methods;
123 }
124
125 /**
126 * @return the sourceCRSs.
127 */
128 public final List<CoordinateSystem> getSourceCRSs() {
129 return sourceCRSs;
130 }
131
132 /**
133 * @return the targetCRSs.
134 */
135 public final List<CoordinateSystem> getTargetCRSs() {
136 return targetCRSs;
137 }
138
139 /**
140 * @return the coverageAbilities.
141 */
142 public final CoverageAbilities getCoverageAbilities() {
143 return coverageAbilities;
144 }
145
146 /**
147 * @return the featureAbilities.
148 */
149 public final FeatureAbilities getFeatureAbilities() {
150 return featureAbilities;
151 }
152
153 /**
154 * @return the metadatas, a list of <xlink:href, about> pairs.
155 */
156 public final List<Pair<String, String>> getMetadata() {
157 return metadata;
158 }
159
160 /**
161 * @return the userDefinedCRS.
162 */
163 public final boolean isUserDefinedCRS() {
164 return userDefinedCRS;
165 }
166
167 }