package com.revolsys.swing.map.layer;
import java.util.Arrays;
import java.util.List;
import com.revolsys.collection.map.MapEx;
import com.revolsys.logging.Logs;
import com.revolsys.swing.map.Viewport2D;
import com.revolsys.swing.map.layer.raster.TiledImageLayerRenderer;
public abstract class AbstractTiledImageLayer extends AbstractLayer implements BaseMapLayer {
private boolean hasError = false;
public AbstractTiledImageLayer(final String type) {
super(type);
setReadOnly(true);
setSelectSupported(false);
setQuerySupported(false);
setRenderer(new TiledImageLayerRenderer(this));
}
public abstract List<MapTile> getOverlappingMapTiles(final Viewport2D viewport);
public abstract double getResolution(final Viewport2D viewport);
public boolean isHasError() {
return this.hasError;
}
@Override
protected void refreshDo() {
this.hasError = false;
super.refreshDo();
}
public void setError(final Throwable e) {
if (!this.hasError) {
this.hasError = true;
Logs.error(this, "Unable to get map tiles", e);
}
}
@Override
public MapEx toMap() {
final MapEx map = super.toMap();
map.keySet().removeAll(Arrays.asList("readOnly", "querySupported", "selectSupported"));
return map;
}
}