1. /*
  2. * @(#)ImageTranscoderSpi.java 1.18 03/12/19
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package javax.imageio.spi;
  8. import javax.imageio.ImageTranscoder;
  9. /**
  10. * The service provider interface (SPI) for <code>ImageTranscoder</code>s.
  11. * For more information on service provider classes, see the class comment
  12. * for the <code>IIORegistry</code> class.
  13. *
  14. * @see IIORegistry
  15. * @see javax.imageio.ImageTranscoder
  16. *
  17. * @version 0.5
  18. */
  19. public abstract class ImageTranscoderSpi extends IIOServiceProvider {
  20. /**
  21. * Constructs a blank <code>ImageTranscoderSpi</code>. It is up
  22. * to the subclass to initialize instance variables and/or
  23. * override method implementations in order to provide working
  24. * versions of all methods.
  25. */
  26. protected ImageTranscoderSpi() {
  27. }
  28. /**
  29. * Constructs an <code>ImageTranscoderSpi</code> with a given set
  30. * of values.
  31. *
  32. * @param vendorName the vendor name.
  33. * @param version a version identifier.
  34. */
  35. public ImageTranscoderSpi(String vendorName,
  36. String version) {
  37. super(vendorName, version);
  38. }
  39. /**
  40. * Returns the fully qualified class name of an
  41. * <code>ImageReaderSpi</code> class that generates
  42. * <code>IIOMetadata</code> objects that may be used as input to
  43. * this transcoder.
  44. *
  45. * @return a <code>String</code> containing the fully-qualified
  46. * class name of the <code>ImageReaderSpi</code> implementation class.
  47. *
  48. * @see ImageReaderSpi
  49. */
  50. public abstract String getReaderServiceProviderName();
  51. /**
  52. * Returns the fully qualified class name of an
  53. * <code>ImageWriterSpi</code> class that generates
  54. * <code>IIOMetadata</code> objects that may be used as input to
  55. * this transcoder.
  56. *
  57. * @return a <code>String</code> containing the fully-qualified
  58. * class name of the <code>ImageWriterSpi</code> implementation class.
  59. *
  60. * @see ImageWriterSpi
  61. */
  62. public abstract String getWriterServiceProviderName();
  63. /**
  64. * Returns an instance of the <code>ImageTranscoder</code>
  65. * implementation associated with this service provider.
  66. *
  67. * @return an <code>ImageTranscoder</code> instance.
  68. */
  69. public abstract ImageTranscoder createTranscoderInstance();
  70. }