org.geotools.coverage.grid.io.imageio
Class GeoToolsReadParams

java.lang.Object
  extended by javax.imageio.IIOParam
      extended by javax.imageio.ImageReadParam
          extended by org.geotools.coverage.grid.io.imageio.GeoToolsReadParams

public abstract class GeoToolsReadParams
extends javax.imageio.ImageReadParam

This class is the base class for building adapters/extensions to the ImageIO ImageReadParam class for controlling the processing of reading a coverage from an ImageReader.

Since:
2.3.x
Author:
Simone Giannecchini

Field Summary
protected  javax.imageio.ImageReadParam adaptee
          The ImageReadParam we are adapting/exteding.
protected  java.awt.Dimension[] preferredTileSizes
          An array of preferred tile size range pairs.
protected  int tileHeight
          The height of each tile if tiling has been set, or 0 otherwise.
protected  int tileWidth
          The width of each tile if tiling has been set, or 0 otherwise.
protected  boolean tilingSet
          A boolean that is true if tiling parameters have been specified.
 
Fields inherited from class javax.imageio.ImageReadParam
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize
 
Fields inherited from class javax.imageio.IIOParam
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
 
Constructor Summary
GeoToolsReadParams()
          Default contructor.
 
Method Summary
 java.awt.Dimension[] getPreferredTileSizes()
          Returns an array of Dimensions indicating the legal size ranges for tiles.
 int getTileHeight()
          Returns the width of each tile in an raster as it will be reader If tiling parameters have not been set, an IllegalStateException is thrown.
 int getTileWidth()
          Returns the width of each tile in an raster as it will be reader If tiling parameters have not been set, an IllegalStateException is thrown.
 void setTiling(int tileWidth, int tileHeight)
          Specifies that the image should be tiled.
 
Methods inherited from class javax.imageio.ImageReadParam
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setDestinationType, setSourceProgressivePasses, setSourceRenderSize
 
Methods inherited from class javax.imageio.IIOParam
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setSourceBands, setSourceRegion, setSourceSubsampling
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

adaptee

protected javax.imageio.ImageReadParam adaptee
The ImageReadParam we are adapting/exteding.


preferredTileSizes

protected java.awt.Dimension[] preferredTileSizes
An array of preferred tile size range pairs. The default value is null, which indicates that there are no preferred sizes. If the value is non-null, it must have an even length of at least two.

Subclasses that do not support reading tiles may ignore this value.

See Also:
getPreferredTileSizes()

tileWidth

protected int tileWidth
The width of each tile if tiling has been set, or 0 otherwise.

Subclasses that do not support tiling may ignore this value.


tileHeight

protected int tileHeight
The height of each tile if tiling has been set, or 0 otherwise. The initial value is 0.

Subclasses that do not support tiling may ignore this value.


tilingSet

protected boolean tilingSet
A boolean that is true if tiling parameters have been specified.

Subclasses that do not support reading tiles may ignore this value.

Constructor Detail

GeoToolsReadParams

public GeoToolsReadParams()
Default contructor.

Method Detail

getTileWidth

public int getTileWidth()
Returns the width of each tile in an raster as it will be reader If tiling parameters have not been set, an IllegalStateException is thrown.

Returns:
the tile width to be used for decoding.
Throws:
java.lang.IllegalStateException - if the tiling parameters have not been set.
See Also:
#setTiling(int, int, int, int), getTileHeight()

getTileHeight

public int getTileHeight()
Returns the width of each tile in an raster as it will be reader If tiling parameters have not been set, an IllegalStateException is thrown.

Returns:
the tile height to be used for decoding.
Throws:
java.lang.IllegalStateException - if the tiling parameters have not been set.
See Also:
#setTiling(int, int, int, int), getTileWidth()

setTiling

public void setTiling(int tileWidth,
                      int tileHeight)
Specifies that the image should be tiled. The tileWidth and tileHeight parameters specify the width and height of the tiles in memory. If the tile width or height is greater than the width or height of the image, the image is not tiled in that dimension.

Parameters:
tileWidth - the width of each tile.
tileHeight - the height of each tile.
Throws:
java.lang.IllegalArgumentException - if the tile size is not within one of the allowable ranges returned by getPreferredTileSizes.
java.lang.IllegalArgumentException - if tileWidth or tileHeight is less than or equal to 0.
See Also:
#canWriteTiles, #canOffsetTiles, getTileWidth(), getTileHeight(), #getTileGridXOffset(), #getTileGridYOffset()

getPreferredTileSizes

public java.awt.Dimension[] getPreferredTileSizes()
Returns an array of Dimensions indicating the legal size ranges for tiles. The returned array is a copy.

The information is returned as a set of pairs; the first element of a pair contains an (inclusive) minimum width and height, and the second element contains an (inclusive) maximum width and height. Together, each pair defines a valid range of sizes. To specify a fixed size, use the same width and height for both elements. To specify an arbitrary range, a value of null is used in place of an actual array of Dimensions.

If no array is specified on the constructor, but tiling is allowed, then this method returns null.

Returns:
an array of Dimensions with an even length of at least two, or null.
Throws:
java.lang.UnsupportedOperationException - if the plug-in does not support tiling.


Copyright © 1996-2010 Geotools. All Rights Reserved.