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 }