# Class ImageTranscoderSpi

java.lang.Object
javax.imageio.spi.IIOServiceProvider
javax.imageio.spi.ImageTranscoderSpi

All Implemented Interfaces:
  `RegisterableService`

public abstract class ImageTranscoderSpi extends IIOServiceProvider
The service provider interface (SPI) for `ImageTranscoder`s. For more information on service provider classes, see the class comment for the `IIORegistry` class.

See Also:
  - `IIORegistry`
  - `ImageTranscoder`

- ## Field Summary

  ### Fields declared in class IIOServiceProvider

  `vendorName, version`
  Modifier and Type
  Field
  Description
  `protected String`
  `vendorName`
  A `String` to be returned from `getVendorName`, initially `null`.
  `protected String`
  `version`
  A `String` to be returned from `getVersion`, initially null.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `ImageTranscoderSpi()`
  Constructs a blank `ImageTranscoderSpi`.
  ``
  `ImageTranscoderSpi(String vendorName, String version)`
  Constructs an `ImageTranscoderSpi` with a given set of values.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract ImageTranscoder`
  `createTranscoderInstance()`
  Returns an instance of the `ImageTranscoder` implementation associated with this service provider.
  `abstract String`
  `getReaderServiceProviderName()`
  Returns the fully qualified class name of an `ImageReaderSpi` class that generates `IIOMetadata` objects that may be used as input to this transcoder.
  `abstract String`
  `getWriterServiceProviderName()`
  Returns the fully qualified class name of an `ImageWriterSpi` class that generates `IIOMetadata` objects that may be used as input to this transcoder.

  ### Methods declared in class IIOServiceProvider

  `getDescription, getVendorName, getVersion, onDeregistration, onRegistration`
  Modifier and Type
  Method
  Description
  `abstract String`
  `getDescription(Locale locale)`
  Returns a brief, human-readable description of this service provider and its associated implementation.
  `String`
  `getVendorName()`
  Returns the name of the vendor responsible for creating this service provider and its associated implementation.
  `String`
  `getVersion()`
  Returns a string describing the version number of this service provider and its associated implementation.
  `void`
  `onDeregistration(ServiceRegistry registry, Class<?> category)`
  A callback that will be whenever the Spi class has been deregistered from a `ServiceRegistry`.
  `void`
  `onRegistration(ServiceRegistry registry, Class<?> category)`
  A callback that will be called exactly once after the Spi class has been instantiated and registered in a `ServiceRegistry`.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### ImageTranscoderSpi

    protected ImageTranscoderSpi()
    Constructs a blank `ImageTranscoderSpi`. It is up to the subclass to initialize instance variables and/or override method implementations in order to provide working versions of all methods.

  - ### ImageTranscoderSpi

    public ImageTranscoderSpi(String vendorName, String version)
    Constructs an `ImageTranscoderSpi` with a given set of values.
    Parameters:
      `vendorName` - the vendor name.
      `version` - a version identifier.

- ## Method Details

  - ### getReaderServiceProviderName

    public abstract String getReaderServiceProviderName()
    Returns the fully qualified class name of an `ImageReaderSpi` class that generates `IIOMetadata` objects that may be used as input to this transcoder.
    Returns:
      a `String` containing the fully-qualified class name of the `ImageReaderSpi` implementation class.
    See Also:
      - `ImageReaderSpi`

  - ### getWriterServiceProviderName

    public abstract String getWriterServiceProviderName()
    Returns the fully qualified class name of an `ImageWriterSpi` class that generates `IIOMetadata` objects that may be used as input to this transcoder.
    Returns:
      a `String` containing the fully-qualified class name of the `ImageWriterSpi` implementation class.
    See Also:
      - `ImageWriterSpi`

  - ### createTranscoderInstance

    public abstract ImageTranscoder createTranscoderInstance()
    Returns an instance of the `ImageTranscoder` implementation associated with this service provider.
    Returns:
      an `ImageTranscoder` instance.