javax.imageio.spi

Class ImageReaderWriterSpi

Implemented Interfaces:
RegisterableService
Known Direct Subclasses:
ImageReaderSpi, ImageWriterSpi

public abstract class ImageReaderWriterSpi
extends IIOServiceProvider

An abstract superclass that contains the common parts of ImageReaderSpi and ImageWriterSpi.
Since:
1.4

Field Summary

protected String[]
MIMETypes
The MIME types of the supported image formats.
protected String[]
extraImageMetadataFormatClassNames
protected String[]
extraImageMetadataFormatNames
The names of additional formats for encoding image metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.
protected String[]
extraStreamMetadataFormatClassNames
protected String[]
extraStreamMetadataFormatNames
The names of additional formats for encoding stream metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.
protected String[]
names
The human-readable, localized names of the supported image formats.
protected String
nativeImageMetadataFormatClassName
protected String
nativeImageMetadataFormatName
The name of the format that allows encoding all image metadata without loss, or null if this plug-in does not provide a format that preserves all image metadata.
protected String
nativeStreamMetadataFormatClassName
protected String
nativeStreamMetadataFormatName
The name of the format that allows encoding all stream metadata without loss, or null if this plug-in does not provide a format that preserves all stream metadata.
protected String
pluginClassName
The fully qualified name of the class that implements the ImageReader or ImageWriter interface.
protected String[]
suffixes
The file suffixes of the supported image formats.
protected boolean
supportsStandardImageMetadataFormat
Indicates whether the per-image metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.
protected boolean
supportsStandardStreamMetadataFormat
Indicates whether the per-stream metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.

Fields inherited from class javax.imageio.spi.IIOServiceProvider

vendorName, version

Constructor Summary

ImageReaderWriterSpi()
Constructs an ImageReaderWriteSpi instance, without specifying a number of parameters.
ImageReaderWriterSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String pluginClassName, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
Constructs an ImageReaderWriteSpi instance, specifying a number of parameters.

Method Summary

String[]
getExtraImageMetadataFormatNames()
Returns the names of additional formats for encoding image metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.
String[]
getExtraStreamMetadataFormatNames()
Returns the names of additional formats for encoding stream metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.
String[]
getFileSuffixes()
Returns the file suffixes of the supported image formats, for example [“tiff”, “tif”, “png”].
String[]
getFormatNames()
Returns the human-readable, localized names of the supported image formats.
IIOMetadataFormat
getImageMetadataFormat(String formatName)
Returns an IIOMetadataFormat object that represents the requested image metadata format or null if the given format is supported but no IIOMetadataFormat can be created for it.
String[]
getMIMETypes()
Returns the MIME types of the supported image formats, for example [“image/tiff”, “image/png”].
String
getNativeImageMetadataFormatName()
Returns the name of the format that allows encoding all image metadata without loss, or null if this plug-in does not provide a format that preserves all image metadata.
String
getNativeStreamMetadataFormatName()
Returns the name of the format that allows encoding all stream metadata without loss, or null if this plug-in does not provide a format that preserves all stream metadata.
String
getPluginClassName()
Returns the fully qualified name of the class that implements the ImageReader or ImageWriter interface.
IIOMetadataFormat
getStreamMetadataFormat(String formatName)
Returns an IIOMetadataFormat object that represents the requested stream metadata format or null if the given format is supported but no IIOMetadataFormat can be created for it.
boolean
isStandardImageMetadataFormatSupported()
Returns whether the per-image metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.
boolean
isStandardStreamMetadataFormatSupported()
Returns whether the per-stream metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.

Methods inherited from class javax.imageio.spi.IIOServiceProvider

getDescription, getVendorName, getVersion, onDeregistration, onRegistration

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

MIMETypes

protected String[] MIMETypes
The MIME types of the supported image formats. This value should be non-null after construction.

extraImageMetadataFormatClassNames

protected String[] extraImageMetadataFormatClassNames

extraImageMetadataFormatNames

protected String[] extraImageMetadataFormatNames
The names of additional formats for encoding image metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.

extraStreamMetadataFormatClassNames

protected String[] extraStreamMetadataFormatClassNames

extraStreamMetadataFormatNames

protected String[] extraStreamMetadataFormatNames
The names of additional formats for encoding stream metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.

names

protected String[] names
The human-readable, localized names of the supported image formats. This value should be non-null after construction.

nativeImageMetadataFormatClassName

protected String nativeImageMetadataFormatClassName

nativeImageMetadataFormatName

protected String nativeImageMetadataFormatName
The name of the format that allows encoding all image metadata without loss, or null if this plug-in does not provide a format that preserves all image metadata.

nativeStreamMetadataFormatClassName

protected String nativeStreamMetadataFormatClassName

nativeStreamMetadataFormatName

protected String nativeStreamMetadataFormatName
The name of the format that allows encoding all stream metadata without loss, or null if this plug-in does not provide a format that preserves all stream metadata.

pluginClassName

protected String pluginClassName
The fully qualified name of the class that implements the ImageReader or ImageWriter interface. This value should be non-null after construction.

suffixes

protected String[] suffixes
The file suffixes of the supported image formats. This value should be non-null after construction.

supportsStandardImageMetadataFormat

protected boolean supportsStandardImageMetadataFormat
Indicates whether the per-image metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.

supportsStandardStreamMetadataFormat

protected boolean supportsStandardStreamMetadataFormat
Indicates whether the per-stream metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.

Constructor Details

ImageReaderWriterSpi

public ImageReaderWriterSpi()
Constructs an ImageReaderWriteSpi instance, without specifying a number of parameters. Constructors of concrete subclasses must ensure that they set all inherited fields to meaningful values.

ImageReaderWriterSpi

public ImageReaderWriterSpi(String vendorName,
                            String version,
                            String[] names,
                            String[] suffixes,
                            String[] MIMETypes,
                            String pluginClassName,
                            boolean supportsStandardStreamMetadataFormat,
                            String nativeStreamMetadataFormatName,
                            String nativeStreamMetadataFormatClassName,
                            String[] extraStreamMetadataFormatNames,
                            String[] extraStreamMetadataFormatClassNames,
                            boolean supportsStandardImageMetadataFormat,
                            String nativeImageMetadataFormatName,
                            String nativeImageMetadataFormatClassName,
                            String[] extraImageMetadataFormatNames,
                            String[] extraImageMetadataFormatClassNames)
Constructs an ImageReaderWriteSpi instance, specifying a number of parameters.
Parameters:
names - the human-readable, localized names of the supported image formats, for example [“Tagged Image File Format”, “Portable Network Graphics”].
suffixes - the file suffixes of the supported image formats, for example [“tiff”, “tif”, “png”].
MIMETypes - the MIME types of the supported image formats, for example [“image/tiff”, “image/png”].
pluginClassName - the fully qualified name of the class that implements the ImageReader or ImageWriter interface.
supportsStandardStreamMetadataFormat - whether the per-stream metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.
nativeStreamMetadataFormatName - the name of the format that allows encoding all stream metadata without loss, or null if this plug-in does not provide a format that preserves all stream metadata.
extraStreamMetadataFormatNames - the names of additional formats for encoding stream metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.
supportsStandardImageMetadataFormat - whether the per-image metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.
nativeImageMetadataFormatName - the name of the format that allows encoding all image metadata without loss, or null if this plug-in does not provide a format that preserves all image metadata.
extraImageMetadataFormatNames - the names of additional formats for encoding image metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.
Throws:
IllegalArgumentException - if vendorName or version is null.

Method Details

getExtraImageMetadataFormatNames

public String[] getExtraImageMetadataFormatNames()
Returns the names of additional formats for encoding image metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.

getExtraStreamMetadataFormatNames

public String[] getExtraStreamMetadataFormatNames()
Returns the names of additional formats for encoding stream metadata, other than the standard and the native formats, or null if this plug-in does not provide any extra formats.

getFileSuffixes

public String[] getFileSuffixes()
Returns the file suffixes of the supported image formats, for example [“tiff”, “tif”, “png”].

getFormatNames

public String[] getFormatNames()
Returns the human-readable, localized names of the supported image formats. For example, a plug-in might return an array with the elements [“Tagged Image File Format”, “Portable Network Graphics”].

getImageMetadataFormat

public IIOMetadataFormat getImageMetadataFormat(String formatName)
Returns an IIOMetadataFormat object that represents the requested image metadata format or null if the given format is supported but no IIOMetadataFormat can be created for it.
Parameters:
formatName - the requested image metadata format name
Returns:
an IIOMetadataFormat object or null
Throws:
IllegalArgumentException - if formatName is null or is not one of the standard metadata format or this provider's native or extra image metadata formats

getMIMETypes

public String[] getMIMETypes()
Returns the MIME types of the supported image formats, for example [“image/tiff”, “image/png”].
Returns:
an array of MIME type strings, or null if none of the supported formats has an associated MIME type.

getNativeImageMetadataFormatName

public String getNativeImageMetadataFormatName()
Returns the name of the format that allows encoding all image metadata without loss, or null if this plug-in does not provide a format that preserves all image metadata.

getNativeStreamMetadataFormatName

public String getNativeStreamMetadataFormatName()
Returns the name of the format that allows encoding all stream metadata without loss, or null if this plug-in does not provide a format that preserves all stream metadata.

getPluginClassName

public String getPluginClassName()
Returns the fully qualified name of the class that implements the ImageReader or ImageWriter interface.

getStreamMetadataFormat

public IIOMetadataFormat getStreamMetadataFormat(String formatName)
Returns an IIOMetadataFormat object that represents the requested stream metadata format or null if the given format is supported but no IIOMetadataFormat can be created for it.
Parameters:
formatName - the requested stream metadata format name
Returns:
an IIOMetadataFormat object or null
Throws:
IllegalArgumentException - if formatName is null or is not one of the standard metadata format or this provider's native or extra stream metadata formats

isStandardImageMetadataFormatSupported

public boolean isStandardImageMetadataFormatSupported()
Returns whether the per-image metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.

isStandardStreamMetadataFormatSupported

public boolean isStandardStreamMetadataFormatSupported()
Returns whether the per-stream metadata objects associated with this plug-in support format “javax_imageio_1.0” in their getAsTree and setAsTree methods.

ImageReaderWriterSpi.java -- Superclass for image reader and writer spis. Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath 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 General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.