[multiple changes]

2005-02-06  Jerry Quinn  <jlquinn@optonline.net>

        * javax/imageio/metadata/IIOMetadataNode.java:
        Implemented.
        * javax/imageio/metadata/IIOAttr.java,
        javax/imageio/metadata/IIONamedNodeMap.java,
        javax/imageio/metadata/IIONodeList.java:
        New files

2005-02-06  Graydon Hoare  <graydon@redhat.com>

        * gnu/java/awt/ClasspathToolkit.java
        (registerImageIOSpis): New method.
        * javax/imageio/ImageIO.java
        (WriterFormatFilter.filter): Fix copy-and-paste typos.
        (WriterMIMETypeFilter.filter): Likewise.
        (ImageReaderIterator): Pass extension argument through to SPI.
        (getReadersByFilter): Likewise.
        (getWritersByFilter): Likewise.
        (getImageReadersByFormatName): Likewise.
        (getImageReadersByMIMEType): Likewise.
        (getImageReadersBySuffix): Likewise.
        (getImageWritersByFormatName): Likewise.
        (getImageWritersByMIMEType): Likewise.
        (getImageWritersBySuffix): Likewise.
        (read): Implement.
        (write): Implement.
        * javax/imageio/ImageReader.java
        (progressListeners): Initialize.
        (setInput): Implement.
        * javax/imageio/ImageWriter.java
        (progressListeners): Initialize.
        (warningListeners): Likewise.
        (warningLocales): Likewise.
        (setOutput): Test "isInstance" rather than class equality.
        * javax/imageio/spi/IIORegistry.java
        (static): Add reader and writer SPIs.
        (IIORegistry): Call ClasspathToolkit.registerImageIOSpis.

2004-02-06  Michael Koch  <konqueror@gmx.de>

        * javax/imageio/metadata/IIOInvalidTreeException.java
        (IIOInvalidTreeException): Reformatted.
        * javax/imageio/spi/IIORegistry.java
        (static): Register ImageReaderSpi.class and ImageWriterSpi.class.
        * javax/imageio/stream/MemoryCacheImageInputStream.java:
        Reworked import statements.

2004-02-06  Michael Koch  <konqueror@gmx.de>

        * javax/imageio/stream/FileImageOutputStream.java:
        Implemented.

2004-02-06  Michael Koch  <konqueror@gmx.de>

        * javax/imageio/stream/FileCacheImageInputStream.java,
        javax/imageio/stream/FileCacheImageOutputStream.java,
        javax/imageio/stream/FileImageInputStream.java,
        javax/imageio/stream/ImageInputStreamImpl.java,
        javax/imageio/stream/ImageOutputStreamImpl.java,
        javax/imageio/stream/MemoryCacheImageInputStream.java,
        javax/imageio/stream/MemoryCacheImageOutputStream.java:
        Added all missing methods in javax.imageio.stream.

From-SVN: r94698
This commit is contained in:
Anthony Green 2005-02-07 13:22:36 +00:00
parent c866976a42
commit 7372d214af
20 changed files with 2162 additions and 40 deletions

View file

@ -51,6 +51,7 @@ import javax.imageio.event.IIOReadUpdateListener;
import javax.imageio.event.IIOReadWarningListener;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.spi.ImageReaderSpi;
import javax.imageio.stream.ImageInputStream;
public abstract class ImageReader
{
@ -62,7 +63,7 @@ public abstract class ImageReader
protected Locale locale;
protected int minIndex;
protected ImageReaderSpi originatingProvider;
protected List progressListeners;
protected List progressListeners = new ArrayList();
protected boolean seekForwardOnly;
protected List updateListeners = new ArrayList();
protected List warningListeners = new ArrayList();
@ -156,6 +157,42 @@ public abstract class ImageReader
public abstract Iterator getImageTypes(int imageIndex)
throws IOException;
public void setInput(Object input,
boolean seekForwardOnly,
boolean ignoreMetadata)
{
Class[] okClasses = originatingProvider.getInputTypes();
if (okClasses == null)
{
if (!(input instanceof ImageInputStream))
throw new IllegalArgumentException();
}
else
{
boolean classOk = false;
for (int i = 0; i < okClasses.length; ++i)
if (okClasses[i].isInstance(input))
classOk = true;
if (!classOk)
throw new IllegalArgumentException();
}
this.input = input;
this.seekForwardOnly = seekForwardOnly;
this.ignoreMetadata = ignoreMetadata;
this.minIndex = 0;
}
public void setInput(Object in, boolean seekForwardOnly)
{
setInput(in, seekForwardOnly, false);
}
public void setInput(Object in)
{
setInput(in, false, false);
}
public Object getInput()
{
return input;