1. /*
  2. * @(#)RAFImageOutputStreamSpi.java 1.6 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.imageio.spi;
  8. import java.io.File;
  9. import java.io.RandomAccessFile;
  10. import java.util.Locale;
  11. import javax.imageio.spi.ImageOutputStreamSpi;
  12. import javax.imageio.stream.ImageOutputStream;
  13. import javax.imageio.stream.FileImageOutputStream;
  14. public class RAFImageOutputStreamSpi extends ImageOutputStreamSpi {
  15. private static final String vendorName = "Sun Microsystems, Inc.";
  16. private static final String version = "1.0";
  17. private static final Class outputClass = RandomAccessFile.class;
  18. public RAFImageOutputStreamSpi() {
  19. super(vendorName, version, outputClass);
  20. }
  21. public String getDescription(Locale locale) {
  22. return "Service provider that instantiates a FileImageOutputStream from a RandomAccessFile";
  23. }
  24. public ImageOutputStream createOutputStreamInstance(Object output,
  25. boolean useCache,
  26. File cacheDir) {
  27. if (output instanceof RandomAccessFile) {
  28. try {
  29. return new FileImageOutputStream((RandomAccessFile)output);
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. return null;
  33. }
  34. } else {
  35. throw new IllegalArgumentException
  36. ("input not a RandomAccessFile!");
  37. }
  38. }
  39. }