javax.imageio.spi

Class ImageInputStreamSpi

public abstract class ImageInputStreamSpi extends IIOServiceProvider

An abstract superclass for service providers that create {@linkplain javax.imageio.stream.ImageInputStream image input streams} for a file, URL, byte array or any other source.

Since: 1.4

Field Summary
protected Class<?>inputClass
Indicates which kind of input is processable by the streams created by {@link #createInputStreamInstance(Object)}.
Constructor Summary
protected ImageInputStreamSpi()
Constructs a service provider for image input streams, given no parameters.
ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass)
Constructs a service provider for image input streams, given the vendor name and a version string.
Method Summary
booleancanUseCacheFile()
Determines whether ImageInputStreams created by this service provider benefit from using a cache file.
abstract ImageInputStreamcreateInputStreamInstance(Object input, boolean useCache, File cacheDir)
ImageInputStreamcreateInputStreamInstance(Object input)
Class<?>getInputClass()
Determines which kind of input is processable by the streams created by {@link #createInputStreamInstance(Object)}.
booleanneedsCacheFile()
Determines whether ImageInputStreams created by this service provider require the use of a cache file.

Field Detail

inputClass

protected Class<?> inputClass
Indicates which kind of input is processable by the streams created by {@link #createInputStreamInstance(Object)}.

Constructor Detail

ImageInputStreamSpi

protected ImageInputStreamSpi()
Constructs a service provider for image input streams, given no parameters. It is up to the sub-class to set {@link #vendorName}, {@link #version} and {@link #inputClass} to non-null values.

ImageInputStreamSpi

public ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass)
Constructs a service provider for image input streams, given the vendor name and a version string.

Throws: IllegalArgumentException if vendorName or version is null.

Method Detail

canUseCacheFile

public boolean canUseCacheFile()
Determines whether ImageInputStreams created by this service provider benefit from using a cache file.

The default behavior is to return false.

Returns: true if the created streams are faster or need less memory when a cache file is being used; false if no positive effect results from the cache file.

createInputStreamInstance

public abstract ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir)

createInputStreamInstance

public ImageInputStream createInputStreamInstance(Object input)

getInputClass

public Class<?> getInputClass()
Determines which kind of input is processable by the streams created by {@link #createInputStreamInstance(Object)}.

needsCacheFile

public boolean needsCacheFile()
Determines whether ImageInputStreams created by this service provider require the use of a cache file.

The default behavior is to return false.

Returns: true if the created streams can only work when a cache file is being used; false if no cache file is needed.