package org.geotools.tile.cache; import java.awt.Rectangle; import org.geotools.tile.TileDraw; public interface TileCache { /** * Create a TileRange capturing the provided range. * <p> * The TileRange will be returned immidiately, the TileCache will schedule calling the provided TileDraw * class when TileRange.load( monitor ) is called. * <p> * The definition of row/cols is defined according the provided TileDraw stratagy object. * * @param draw * @param range * @return */ TileRange createRange( TileDraw draw, Rectangle range ); /** * Indicate lack of interest in the tiles created by the provided TileDraw. * <p> * Used when user turns a layer off; or when changing between scales to indicate tiles that are unlikly * to be revisited. * </p> * @param draw */ void retireTiles( TileDraw draw ); /** * Mark for clean up tiles created by the provided TileDraw. * <p> * Used when user removes a layer; or when shutting down. * </p> * @param draw */ void flushTiles( TileDraw draw ); /** * Used during shutdown. */ void close(); }