if(!(descriptor instanceof ParameterDescriptor))
continue;
// get name and default value
final ParameterDescriptor desc=(ParameterDescriptor) descriptor;
final ReferenceIdentifier name = desc.getName();
final Object value= desc.getDefaultValue();
// //
//
// Requested GridGeometry2D parameter
//
// //
if (descriptor.getName().equals(AbstractGridFormat.READ_GRIDGEOMETRY2D.getName())) {
if(value==null)
continue;
final GridGeometry2D gg = (GridGeometry2D)value;
requestedBBox = new ReferencedEnvelope((Envelope) gg.getEnvelope2D());
requestedRasterArea = gg.getGridRange2D().getBounds();
requestedGridToWorld=(AffineTransform) gg.getGridToCRS2D();
continue;
}
// //
//
// Use JAI ImageRead parameter
//
// //
if (name.equals(AbstractGridFormat.USE_JAI_IMAGEREAD.getName())) {
if(value==null)
continue;
readType = ((Boolean)value)? ReadType.JAI_IMAGEREAD: ReadType.DIRECT_READ;
continue;
}
// //
//
// Use Multithreading parameter
//
// //
if (name.equals(JP2KFormat.USE_MULTITHREADING.getName())) {
if(value==null)
continue;
useMultithreading = ((Boolean) value).booleanValue();
continue;
}
// //
//
// Overview Policy parameter
//
// //
if (name.equals(AbstractGridFormat.OVERVIEW_POLICY.getName())) {
if(value==null)
continue;
overviewPolicy = (OverviewPolicy) value;
continue;
}
if (name.equals(JP2KFormat.INPUT_TRANSPARENT_COLOR.getName())) {
if(value==null)
continue;
inputTransparentColor = (Color) value;
// paranoiac check on the provided transparent color
inputTransparentColor = new Color(
inputTransparentColor.getRed(),
inputTransparentColor.getGreen(),
inputTransparentColor.getBlue());
continue;
}
// //
//
// Suggested tile size parameter. It must be specified with
// the syntax: "TileWidth,TileHeight" (without quotes where TileWidth
// and TileHeight are integer values)
//
// //
if (name.equals(JP2KFormat.SUGGESTED_TILE_SIZE.getName())) {
final String suggestedTileSize = (String) value;
// Preliminary checks on parameter value
if ((suggestedTileSize != null)
&& (suggestedTileSize.trim().length() > 0)) {