001package org.openstreetmap.gui.jmapviewer.tilesources;
002
003import java.awt.Image;
004
005import org.openstreetmap.gui.jmapviewer.interfaces.TileSource;
006import org.openstreetmap.gui.jmapviewer.Coordinate;
007
008//License: GPL. Copyright 2008 by Jan Peter Stotz
009
010abstract public class AbstractTileSource implements TileSource {
011
012    protected String attributionText;
013    protected String attributionLinkURL;
014    protected Image attributionImage;
015    protected String attributionImageURL;
016    protected String termsOfUseText;
017    protected String termsOfUseURL;
018
019    @Override
020    public boolean requiresAttribution() {
021        return attributionText != null || attributionImage != null || termsOfUseText != null || termsOfUseURL != null;
022    }
023
024    @Override
025    public String getAttributionText(int zoom, Coordinate topLeft, Coordinate botRight) {
026        return attributionText;
027    }
028
029    @Override
030    public String getAttributionLinkURL() {
031        return attributionLinkURL;
032    }
033
034    @Override
035    public Image getAttributionImage() {
036        return attributionImage;
037    }
038
039    @Override
040    public String getAttributionImageURL() {
041        return attributionImageURL;
042    }
043
044    @Override
045    public String getTermsOfUseText() {
046        return termsOfUseText;
047    }
048
049    @Override
050    public String getTermsOfUseURL() {
051        return termsOfUseURL;
052    }
053
054    public void setAttributionText(String attributionText) {
055        this.attributionText = attributionText;
056    }
057
058    public void setAttributionLinkURL(String attributionLinkURL) {
059        this.attributionLinkURL = attributionLinkURL;
060    }
061
062    public void setAttributionImage(Image attributionImage) {
063        this.attributionImage = attributionImage;
064    }
065
066    public void setAttributionImageURL(String attributionImageURL) {
067        this.attributionImageURL = attributionImageURL;
068    }
069
070    public void setTermsOfUseText(String termsOfUseText) {
071        this.termsOfUseText = termsOfUseText;
072    }
073
074    public void setTermsOfUseURL(String termsOfUseURL) {
075        this.termsOfUseURL = termsOfUseURL;
076    }
077
078}