package org.geotoolkit.image.io.large;
import java.awt.image.Raster;
/**
* Contain {@link java.awt.image.Raster} and different raster properties.
*
* @author Remi Marechal (Geomatys).
*/
final class TileRasterCache {
private final int gridX;
private final int gridY;
private final long weight;
private final Raster raster;
/**
* Object to wrap {@link java.awt.image.Raster} and different raster properties.
*
* @param gridX raster position in X direction.
* @param gridY raster position in Y direction.
* @param weight raster weight.
* @param raster
*/
TileRasterCache(int gridX, int gridY, long weight, Raster raster) {
this.gridX = gridX;
this.gridY = gridY;
this.weight = weight;
this.raster = raster;
}
/**
* Return stocked {@link java.awt.image.Raster} mosaic coordinate in X direction.
*
* @return stocked {@link java.awt.image.Raster} mosaic coordinate in X direction.
*/
int getGridX() {
return gridX;
}
/**
* Return stocked {@link java.awt.image.Raster} mosaic coordinate in Y direction.
*
* @return stocked {@link java.awt.image.Raster} mosaic coordinate in Y direction.
*/
int getGridY() {
return gridY;
}
/**
* Return stocked {@link java.awt.image.Raster}.
*
* @return stocked {@link java.awt.image.Raster}.
*/
Raster getRaster() {
return raster;
}
/**
* Return stocked {@link java.awt.image.Raster} weight.
*
* @return stocked {@link java.awt.image.Raster} weight.
*/
long getWeight() {
return weight;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof TileRasterCache)) return false;
TileRasterCache lr = (TileRasterCache) obj;
return (gridX == lr.getGridX() && gridY == lr.getGridY() && raster == lr.getRaster());
}
}