Package org.mapsforge.map.layer.cache
Class TwoLevelTileCache
- java.lang.Object
-
- org.mapsforge.map.layer.cache.TwoLevelTileCache
-
- All Implemented Interfaces:
TileCache,ObservableInterface
public class TwoLevelTileCache extends java.lang.Object implements TileCache
-
-
Constructor Summary
Constructors Constructor Description TwoLevelTileCache(TileCache firstLevelTileCache, TileCache secondLevelTileCache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObserver(Observer observer)booleancontainsKey(Job key)voiddestroy()Destroys this cache.org.mapsforge.core.graphics.TileBitmapget(Job key)intgetCapacity()intgetCapacityFirstLevel()org.mapsforge.core.graphics.TileBitmapgetImmediately(Job key)Returns tileBitmap only if available at fastest cache in case of multi-layered cache, null otherwise.voidpurge()Purges this cache.voidput(Job key, org.mapsforge.core.graphics.TileBitmap bitmap)voidremoveObserver(Observer observer)voidsetWorkingSet(java.util.Set<Job> newWorkingSet)Reserves a working set in this cache, for multi-level caches this means bringing the elements in workingSet into the fastest cache.
-
-
-
Method Detail
-
containsKey
public boolean containsKey(Job key)
- Specified by:
containsKeyin interfaceTileCache- Returns:
- true if this cache contains an image for the given key, false otherwise.
- See Also:
Map.containsKey(java.lang.Object)
-
destroy
public void destroy()
Description copied from interface:TileCacheDestroys this cache. Applications are expected to call this method when they no longer require the cache. In versions prior to 0.5.1, it was common practice to call this method but continue using the cache, in order to empty it, forcing all tiles to be re-rendered or re-requested from the source. Beginning with 0.5.1,TileCache.purge()should be used for this purpose. The earlier practice is now discouraged and may lead to unexpected results when used with features introduced in 0.5.1 or later.
-
get
public org.mapsforge.core.graphics.TileBitmap get(Job key)
-
getCapacity
public int getCapacity()
- Specified by:
getCapacityin interfaceTileCache- Returns:
- the capacity of this cache.
-
getCapacityFirstLevel
public int getCapacityFirstLevel()
- Specified by:
getCapacityFirstLevelin interfaceTileCache- Returns:
- the capacity of the first level of a multi-level cache.
-
getImmediately
public org.mapsforge.core.graphics.TileBitmap getImmediately(Job key)
Description copied from interface:TileCacheReturns tileBitmap only if available at fastest cache in case of multi-layered cache, null otherwise.- Specified by:
getImmediatelyin interfaceTileCache- Returns:
- tileBitmap if available without getting from lower storage levels
-
purge
public void purge()
Description copied from interface:TileCachePurges this cache. Calls toTileCache.get(Job)issued after purging will not return any tiles added before the purge operation. Applications should purge the tile cache when map model parameters change, such as the render style for locally rendered tiles, or the source for downloaded tiles. Applications which frequently alternate between a limited number of map model configurations may want to consider using a different cache for each.
-
put
public void put(Job key, org.mapsforge.core.graphics.TileBitmap bitmap)
-
setWorkingSet
public void setWorkingSet(java.util.Set<Job> newWorkingSet)
Description copied from interface:TileCacheReserves a working set in this cache, for multi-level caches this means bringing the elements in workingSet into the fastest cache.- Specified by:
setWorkingSetin interfaceTileCache
-
addObserver
public void addObserver(Observer observer)
- Specified by:
addObserverin interfaceObservableInterface
-
removeObserver
public void removeObserver(Observer observer)
- Specified by:
removeObserverin interfaceObservableInterface
-
-