package com.aerodynelabs.map;
import java.awt.image.BufferedImage;
import java.util.LinkedHashMap;
/**
* A class to store map tiles/images in local memory.
* @author Ethan Harstad
*
*/
public class TileCache {
private int maxSize;
@SuppressWarnings("serial")
private LinkedHashMap<Tile, BufferedImage> cache = new LinkedHashMap<Tile, BufferedImage>(maxSize, 0.75f, true) {
protected boolean removeEldestEntry(java.util.Map.Entry<Tile, BufferedImage> eldest) {
return size() > maxSize;
}
};
protected void put(Tile tile, BufferedImage image) {
cache.put(tile, image);
}
protected BufferedImage get(Tile tile) {
return cache.get(tile);
}
public TileCache() {
this(256);
}
public TileCache(int size) {
maxSize = size;
}
}