Class TwoLevelTileCache

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addObserver​(Observer observer)  
      boolean containsKey​(Job key)  
      void destroy()
      Destroys this cache.
      org.mapsforge.core.graphics.TileBitmap get​(Job key)  
      int getCapacity()  
      int getCapacityFirstLevel()  
      org.mapsforge.core.graphics.TileBitmap getImmediately​(Job key)
      Returns tileBitmap only if available at fastest cache in case of multi-layered cache, null otherwise.
      void purge()
      Purges this cache.
      void put​(Job key, org.mapsforge.core.graphics.TileBitmap bitmap)  
      void removeObserver​(Observer observer)  
      void setWorkingSet​(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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TwoLevelTileCache

        public TwoLevelTileCache​(TileCache firstLevelTileCache,
                                 TileCache secondLevelTileCache)
    • Method Detail

      • containsKey

        public boolean containsKey​(Job key)
        Specified by:
        containsKey in interface TileCache
        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: TileCache
        Destroys 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.

        Specified by:
        destroy in interface TileCache
      • get

        public org.mapsforge.core.graphics.TileBitmap get​(Job key)
        Specified by:
        get in interface TileCache
        Returns:
        the image for the given key or null, if this cache contains no image for the key.
        See Also:
        Map.get(java.lang.Object)
      • getCapacity

        public int getCapacity()
        Specified by:
        getCapacity in interface TileCache
        Returns:
        the capacity of this cache.
      • getCapacityFirstLevel

        public int getCapacityFirstLevel()
        Specified by:
        getCapacityFirstLevel in interface TileCache
        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: TileCache
        Returns tileBitmap only if available at fastest cache in case of multi-layered cache, null otherwise.
        Specified by:
        getImmediately in interface TileCache
        Returns:
        tileBitmap if available without getting from lower storage levels
      • purge

        public void purge()
        Description copied from interface: TileCache
        Purges this cache.

        Calls to TileCache.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.

        Specified by:
        purge in interface TileCache
      • put

        public void put​(Job key,
                        org.mapsforge.core.graphics.TileBitmap bitmap)
        Specified by:
        put in interface TileCache
        See Also:
        Map.put(K, V)
      • setWorkingSet

        public void setWorkingSet​(java.util.Set<Job> newWorkingSet)
        Description copied from interface: TileCache
        Reserves a working set in this cache, for multi-level caches this means bringing the elements in workingSet into the fastest cache.
        Specified by:
        setWorkingSet in interface TileCache