javax.imageio.spi
Class ImageInputStreamSpi

java.lang.Object
  extended by javax.imageio.spi.IIOServiceProvider
      extended by javax.imageio.spi.ImageInputStreamSpi
All Implemented Interfaces:
RegisterableService

public abstract class ImageInputStreamSpi
extends IIOServiceProvider

An abstract superclass for service providers that create 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 createInputStreamInstance(Object).
 
Fields inherited from class javax.imageio.spi.IIOServiceProvider
vendorName, version
 
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
 boolean canUseCacheFile()
          Determines whether ImageInputStreams created by this service provider benefit from using a cache file.
 ImageInputStream createInputStreamInstance(Object input)
           
abstract  ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir)
           
 Class<?> getInputClass()
          Determines which kind of input is processable by the streams created by createInputStreamInstance(Object).
 boolean needsCacheFile()
          Determines whether ImageInputStreams created by this service provider require the use of a cache file.
 
Methods inherited from class javax.imageio.spi.IIOServiceProvider
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inputClass

protected Class<?> inputClass
Indicates which kind of input is processable by the streams created by 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 IIOServiceProvider.vendorName, IIOServiceProvider.version and 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

getInputClass

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


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.

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.

createInputStreamInstance

public abstract ImageInputStream createInputStreamInstance(Object input,
                                                           boolean useCache,
                                                           File cacheDir)
                                                    throws IOException
Throws:
IOException

createInputStreamInstance

public ImageInputStream createInputStreamInstance(Object input)
                                           throws IOException
Throws:
IOException