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}