public class FileTileCache extends Object implements javax.media.jai.TileCache
 TileCache provides a mechanism by which an
 OpImage may cache its computed tiles.  There may be
 multiple TileCaches used in an application up to the
 point of having a different TileCache for each
 OpImage.
 
 The TileCache used for a particular OpImage
 is derived from the RenderingHints assigned to the
 associated imaging chain node.  If the node is constructed using
 JAI.create() and no TileCache is specified
 in the RenderingHints parameter, then one is derived
 from the RenderingHints associated with the instance of the
 JAI class being used.
 
 In the Sun reference implementation, the cache size is limited by
 the memory capacity, which is set to a default value at construction
 or subsequently using the setMemoryCapacity() method.
 The initial value may be obtained using getMemoryCapacity().
 The tile capacity is not used as different images may have very different
 tile sizes so that this metric is not a particularly meaningful control
 of memory resource consumption in general.
JAI, 
RenderedOp, 
RenderingHints| Constructor and Description | 
|---|
| FileTileCache(File cacheDir) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | add(RenderedImage owner,
   int tileX,
   int tileY,
   Raster tile)Adds a tile to the cache. | 
| void | add(RenderedImage owner,
   int tileX,
   int tileY,
   Raster tile,
   Object tileCacheMetric)Adds a tile to the cache with an associated compute cost | 
| void | addTiles(RenderedImage owner,
        Point[] tileIndices,
        Raster[] tiles,
        Object tileCacheMetric)Adds an array of tiles to the tile cache. | 
| void | flush()Advises the cache that all of its tiles may be discarded. | 
| long | getMemoryCapacity()Returns the memory capacity in bytes. | 
| float | getMemoryThreshold()Returns the memory threshold, which is the fractional
 amount of cache memory to retain during tile removal. | 
| Raster | getTile(RenderedImage owner,
       int tileX,
       int tileY)Retrieves a tile. | 
| int | getTileCapacity()Deprecated. 
 as of JAI 1.1. | 
| Comparator | getTileComparator()Returns the  Comparatorcurrently set for use in ordering
 theCachedTiles stored by theTileCache. | 
| Raster[] | getTiles(RenderedImage owner)Retrieves an array of all tiles in the cache which are owned by the
 specified image. | 
| Raster[] | getTiles(RenderedImage owner,
        Point[] tileIndices)Returns an array of tile  Rasters from the cache. | 
| void | memoryControl()Advises the cache that some of its tiles may be discarded. | 
| void | remove(RenderedImage owner,
      int tileX,
      int tileY)Advises the cache that a tile is no longer needed. | 
| void | removeTiles(RenderedImage owner)Advises the cache that all tiles associated with a given image
 are no longer needed. | 
| void | setMemoryCapacity(long memoryCapacity)Sets the memory capacity to a desired number of bytes. | 
| void | setMemoryThreshold(float memoryThreshold)Sets the  memoryThresholdvalue to a floating
 point number that ranges from 0.0 to 1.0. | 
| void | setTileCapacity(int tileCapacity)Deprecated. 
 as of JAI 1.1. | 
| void | setTileComparator(Comparator comparator)Sets a  Comparatorwhich imposes an order on theCachedTiles stored in theTileCache. | 
public FileTileCache(File cacheDir)
public void add(RenderedImage owner, int tileX, int tileY, Raster tile)
add in interface javax.media.jai.TileCacheowner - The RenderedImage that the tile belongs to.tileX - The X index of the tile in the owner's tile grid.tileY - The Y index of the tile in the owner's tile grid.tile - A Raster containing the tile data.public void add(RenderedImage owner, int tileX, int tileY, Raster tile, Object tileCacheMetric)
add in interface javax.media.jai.TileCacheowner - The RenderedImage that the tile belongs to.tileX - The X index of the tile in the owner's tile grid.tileY - The Y index of the tile in the owner's tile grid.tile - A Raster containing the tile data.tileCacheMetric - An Object as a tile metric.public void addTiles(RenderedImage owner, Point[] tileIndices, Raster[] tiles, Object tileCacheMetric)
addTiles in interface javax.media.jai.TileCacheowner - The RenderedImage that the tile belongs to.tileIndices - An array of Points containing the
                        tileX and tileY indices for each tile.tiles - The array of tile Rasters containing tile data.tileCacheMetric - Object which provides an ordering metric
                        associated with the RenderedImage owner.public Raster getTile(RenderedImage owner, int tileX, int tileY)
null if the tile is not
 present in the cache.getTile in interface javax.media.jai.TileCacheowner - The RenderedImage that the tile belongs to.tileX - The X index of the tile in the owner's tile grid.tileY - The Y index of the tile in the owner's tile grid.public Raster[] getTiles(RenderedImage owner)
getTiles in interface javax.media.jai.TileCacheowner - The RenderedImage to which the tiles belong.null if there are none currently in the cache.public Raster[] getTiles(RenderedImage owner, Point[] tileIndices)
Rasters from the cache.
 Any or all of the elements of the returned array may be
 null if the corresponding tile is not in the cache.
 The length of the returned array must be the same as that of the
 parameter array and the ith Raster in the
 returned array must correspond to the ith tile index in
 the parameter array.getTiles in interface javax.media.jai.TileCacheowner - The RenderedImage that the tile belongs to.tileIndices - An array of Points containing the
                    tileX and tileY indices for each tile.public void removeTiles(RenderedImage owner)
removeTiles in interface javax.media.jai.TileCacheowner - The RenderedImage owner of the tiles
              to be removed.public void remove(RenderedImage owner, int tileX, int tileY)
remove in interface javax.media.jai.TileCacheowner - The RenderedImage that the tile belongs to.tileX - The X index of the tile in the owner's tile grid.tileY - The Y index of the tile in the owner's tile grid.public void flush()
flush in interface javax.media.jai.TileCachepublic void memoryControl()
memoryControl in interface javax.media.jai.TileCachepublic void setTileCapacity(int tileCapacity)
setTileCapacity in interface javax.media.jai.TileCachetileCapacity - The new capacity, in tiles.public int getTileCapacity()
getTileCapacity in interface javax.media.jai.TileCachepublic void setMemoryCapacity(long memoryCapacity)
TileCache's memory usage is less than
 memoryCapacity.setMemoryCapacity in interface javax.media.jai.TileCachememoryCapacity - The new capacity, in bytes.public long getMemoryCapacity()
getMemoryCapacity in interface javax.media.jai.TileCachepublic void setMemoryThreshold(float memoryThreshold)
memoryThreshold value to a floating
 point number that ranges from 0.0 to 1.0.
 When the cache memory is full, the memory
 usage will be reduced to this fraction of
 the total cache memory capacity.  For example,
 a value of .75 will cause 25% of the memory
 to be cleared, while retaining 75%.setMemoryThreshold in interface javax.media.jai.TileCachememoryThreshold - Retained fraction of memoryIllegalArgumentException - if the memoryThreshold
                                  is less than 0.0 or greater than 1.0public float getMemoryThreshold()
getMemoryThreshold in interface javax.media.jai.TileCachepublic void setTileComparator(Comparator comparator)
Comparator which imposes an order on the
 CachedTiles stored in the TileCache.
 This ordering is used in memoryControl() to determine
 the sequence in which tiles will be removed from the
 TileCache so as to reduce the memory to the level given
 by the memory threshold.  The Objects passed to the
 compare() method of the Comparator will
 be instances of CachedTile.  CachedTiles
 will be removed from the TileCache in the ascending
 order imposed by this Comparator.  If no
 Comparator is currently set, the TileCache
 should use an implementation-dependent default ordering.  In the
 Sun Microsystems, Inc., implementation of TileCache,
 this ordering is the least recently used
 ordering, i.e., the tiles least recently used will be removed first
 by memoryControl().setTileComparator in interface javax.media.jai.TileCachecomparator - A Comparator which orders the
                   CachedTiles stored by the TileCache;
                   if null an implementation-dependent algorithm
                   will be used.public Comparator getTileComparator()
Comparator currently set for use in ordering
 the CachedTiles stored by the TileCache.getTileComparator in interface javax.media.jai.TileCacheComparator or null if the
         implementation-dependent ordering algorithm is being used.Copyright © 2014–2017 European Space Agency (ESA). All rights reserved.