1. /*
  2. * @(#)FileImageInputStreamSpi.java 1.15 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 com.sun.imageio.spi;
  8. import java.io.File;
  9. import java.util.Locale;
  10. import javax.imageio.spi.ImageInputStreamSpi;
  11. import javax.imageio.stream.ImageInputStream;
  12. import javax.imageio.stream.FileImageInputStream;
  13. public class FileImageInputStreamSpi extends ImageInputStreamSpi {
  14. private static final String vendorName = "Sun Microsystems, Inc.";
  15. private static final String version = "1.0";
  16. private static final Class inputClass = File.class;
  17. public FileImageInputStreamSpi() {
  18. super(vendorName, version, inputClass);
  19. }
  20. public String getDescription(Locale locale) {
  21. return "Service provider that instantiates a FileImageInputStream from a File";
  22. }
  23. public ImageInputStream createInputStreamInstance(Object input,
  24. boolean useCache,
  25. File cacheDir) {
  26. if (input instanceof File) {
  27. try {
  28. return new FileImageInputStream((File)input);
  29. } catch (Exception e) {
  30. return null;
  31. }
  32. } else {
  33. throw new IllegalArgumentException();
  34. }
  35. }
  36. }