/** * Find all RasterIOLoaders and retrieve all the (image) formats they support on writing. * * @return a set of supported writable mime-types. */ public static Set<String> getAllSupportedWritingFormats() { Set<String> result = new LinkedHashSet<String>(); for ( RasterIOProvider reader : getRasterIOLoader() ) { Set<String> formats = reader.getRasterWriterFormats(); if ( formats != null && !formats.isEmpty() ) { result.addAll( formats ); } } return result; }
private static RasterReader getRasterReader( RasterIOOptions options ) { for ( RasterIOProvider reader : getRasterIOLoader() ) { String format = options.get( RasterIOOptions.OPT_FORMAT ); RasterReader possibleReader = reader.getRasterReader( format ); if ( possibleReader != null ) { return possibleReader; } } return null; }
private static RasterWriter getRasterWriter( AbstractRaster raster, RasterIOOptions options ) { for ( RasterIOProvider writer : getRasterIOLoader() ) { String format = options.get( RasterIOOptions.OPT_FORMAT ); RasterWriter possibleWriter = writer.getRasterWriter( format ); // TODO if ( possibleWriter != null && possibleWriter.canWrite( raster, options ) ) { return possibleWriter; } } return null; }
private static RasterReader getRasterReader( File filename, RasterIOOptions options ) { for ( RasterIOProvider reader : getRasterIOLoader() ) { String format = options.get( RasterIOOptions.OPT_FORMAT ); if ( format == null ) { String nm = filename.getName(); format = nm.substring( nm.lastIndexOf( '.' ) + 1 ); } RasterReader possibleReader = reader.getRasterReader( format ); if ( possibleReader != null && possibleReader.canLoad( filename ) ) { return possibleReader; } } return null; }