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,
099: List<CoordinateSystem> sourceCRSs,
100: List<CoordinateSystem> targetCRSs,
101: CoverageAbilities coverageAbilities,
102: FeatureAbilities featureAbilities,
103: List<Pair<String, String>> metadata, boolean userDefinedCRS) {
104: this .transformations = transformations;
105: this .methods = methods;
106: this .sourceCRSs = sourceCRSs;
107: this .targetCRSs = targetCRSs;
108: this .coverageAbilities = coverageAbilities;
109: this .featureAbilities = featureAbilities;
110: this .metadata = metadata;
111: this .userDefinedCRS = userDefinedCRS;
112: }
113:
114: /**
115: * @return the transformations.
116: */
117: public final List<String> getTransformations() {
118: return transformations;
119: }
120:
121: /**
122: * @return the methods.
123: */
124: public final List<String> getMethods() {
125: return methods;
126: }
127:
128: /**
129: * @return the sourceCRSs.
130: */
131: public final List<CoordinateSystem> getSourceCRSs() {
132: return sourceCRSs;
133: }
134:
135: /**
136: * @return the targetCRSs.
137: */
138: public final List<CoordinateSystem> getTargetCRSs() {
139: return targetCRSs;
140: }
141:
142: /**
143: * @return the coverageAbilities.
144: */
145: public final CoverageAbilities getCoverageAbilities() {
146: return coverageAbilities;
147: }
148:
149: /**
150: * @return the featureAbilities.
151: */
152: public final FeatureAbilities getFeatureAbilities() {
153: return featureAbilities;
154: }
155:
156: /**
157: * @return the metadatas, a list of <xlink:href, about> pairs.
158: */
159: public final List<Pair<String, String>> getMetadata() {
160: return metadata;
161: }
162:
163: /**
164: * @return the userDefinedCRS.
165: */
166: public final boolean supportsUserDefinedCRS() {
167: return userDefinedCRS;
168: }
169:
170: }
|