/** * Reads RasterData from RasterReader and wraps it in a RasterDataContainer. RasterData stays in memory. * * @param reader * RasterReader for RasterData */ public MemoryRasterDataContainer( RasterDataReader reader ) { this.raster = reader.read(); }
public synchronized RasterData getRasterData() { if ( !rasterLoaded ) { if ( log.isDebugEnabled() ) { log.debug( "reading: " + this.toString() ); } raster = reader.read(); rasterLoaded = true; } return raster; }
@Override public synchronized RasterData getRasterData() { // synchronized to prevent multiple reader.read()-calls when RasterData raster; if ( LOG.isDebugEnabled() ) { LOG.debug( "accessing: " + this.toString() ); } Element elem = cache.get( identifier ); if ( elem == null ) { raster = reader.read(); elem = new Element( identifier, raster ); cache.put( elem ); if ( LOG.isDebugEnabled() ) { LOG.debug( "cache miss: " + this.toString() + "#mem: " + cache.getMemoryStoreSize() ); } } else { raster = (RasterData) elem.getObjectValue(); if ( LOG.isDebugEnabled() ) { LOG.debug( "cache hit: " + this.toString() ); } } return raster; }