*/
public abstract class MapSource
{
+ /** File extensions */
+ protected String[] _extensions = null;
+
+
/**
* @return the number of layers used in this source
*/
/**
* @return the file extension for the specified layer
*/
- public abstract String getFileExtension(int inLayerNum);
+ public final String getFileExtension(int inLayerNum) {
+ return _extensions[inLayerNum];
+ }
/**
* Make the URL to get the specified tile
*/
public String makeFilePath(int inLayerNum, int inZoom, int inX, int inY)
{
- return getSiteName(inLayerNum) + inZoom + "/" + inX + "/" + inY + getFileExtension(inLayerNum);
+ return getSiteName(inLayerNum) + inZoom + "/" + inX + "/" + inY + "." + getFileExtension(inLayerNum);
}
/**
public abstract String getConfigString();
/**
- * @return semicolon-separated list of base urls in order
+ * @return semicolon-separated list of base urls and extensions in order
*/
public String getSiteStrings()
{
StringBuilder sb = new StringBuilder();
- for (int i=0; i<getNumLayers(); i++) {
+ for (int i=0; i<getNumLayers(); i++)
+ {
String url = getBaseUrl(i);
- if (url != null) {
+ if (url != null)
+ {
sb.append(url);
sb.append(';');
+ sb.append(getFileExtension(i));
+ sb.append(';');
}
}
return sb.toString();