001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.imagery; 003 004import java.util.Collection; 005 006import org.openstreetmap.josm.data.imagery.GetCapabilitiesParseHelper.TransferMode; 007import org.openstreetmap.josm.data.imagery.WMTSTileSource.Layer; 008 009/** 010 * Data object containing WMTS GetCapabilities document 011 * 012 * @author Wiktor Niesiobedzki 013 * @since 13733 014 */ 015public class WMTSCapabilities { 016 private final String baseUrl; 017 private final TransferMode transferMode; 018 private Collection<Layer> layers; 019 020 /** 021 * Constructor for the class 022 * 023 * @param baseUrl of this service 024 * @param transferMode either KVP (key-value pairs in URL parameters) or RESTful (part of path) 025 */ 026 public WMTSCapabilities(String baseUrl, TransferMode transferMode) { 027 this.baseUrl = baseUrl; 028 this.transferMode = transferMode; 029 } 030 031 /** 032 * Adds layers to this WMTS service response 033 * @param layers layers to add to this document 034 */ 035 public void addLayers(Collection<Layer> layers) { 036 this.layers = layers; 037 } 038 039 /** 040 * Layers of this WMTS service 041 * @return layers defined by this service 042 */ 043 public Collection<Layer> getLayers() { 044 return layers; 045 } 046 047 /** 048 * base URL of this WMTS service 049 * @return base url for this service 050 */ 051 public String getBaseUrl() { 052 return baseUrl; 053 } 054 055 /** 056 * TransferMode for this service 057 * @return transfer mode (KVP or RESTful) for this service 058 */ 059 public TransferMode getTransferMode() { 060 return transferMode; 061 } 062}