001 package org.openstreetmap.gui.jmapviewer.tilesources; 002 003 import java.awt.Image; 004 005 import org.openstreetmap.gui.jmapviewer.interfaces.TileSource; 006 import org.openstreetmap.gui.jmapviewer.Coordinate; 007 008 //License: GPL. Copyright 2008 by Jan Peter Stotz 009 010 abstract 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 }