/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2007-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.imageio; import java.io.IOException; import javax.imageio.ImageReader; import javax.imageio.spi.ImageReaderSpi; import org.geotools.imageio.metadata.SpatioTemporalMetadata; /** * Class leveraging on an underlying imageio flat reader to extract * spatio-temporal information and setup proper spatio-temporal metadata. A flat * reader simply allows to get data access as well as exposing basic metadata * available for the underlying source. Basic metadata are usually, dataset * width/height, name, tiling and similar things. Moreover a flat reader may * returns attributes and properties of a whole data source by means of a * StreamMetadata instance, as well as a set of "single dataset" specific * attributes on which the spatioTemporal reader may leverage to expose spatio- * temporal metadata. * * @author Daniele Romagnoli, GeoSolutions * * * @source $URL: http://svn.osgeo.org/geotools/trunk/modules/unsupported/coverage-experiment/coverage-core/src/main/java/org/geotools/imageio/SpatioTemporalImageReader.java $ */ public abstract class SpatioTemporalImageReader extends ImageReader { protected SpatioTemporalImageReader(ImageReaderSpi originatingProvider) { super(originatingProvider); } /** * Returns the {@link SliceDescriptor} describing a specified 2D raster * * @param imageIndex * the index of the required 2D raster * @return a {@link SliceDescriptor}object. * @throws IOException */ public abstract SliceDescriptor getSliceDescriptor(int imageIndex) throws IOException; /** * Returns a {@link SpatioTemporalMetadata} instance for a specified 2D * raster * * @param imageIndex * the index of the required 2D raster * @return a {@link SpatioTemporalMetadata} object. */ public abstract SpatioTemporalMetadata getSpatioTemporalMetadata(int imageIndex); }