51 |
import javax.imageio.event.IIOReadWarningListener; |
import javax.imageio.event.IIOReadWarningListener; |
52 |
import javax.imageio.metadata.IIOMetadata; |
import javax.imageio.metadata.IIOMetadata; |
53 |
import javax.imageio.spi.ImageReaderSpi; |
import javax.imageio.spi.ImageReaderSpi; |
54 |
|
import javax.imageio.stream.ImageInputStream; |
55 |
|
|
56 |
public abstract class ImageReader |
public abstract class ImageReader |
57 |
{ |
{ |
63 |
protected Locale locale; |
protected Locale locale; |
64 |
protected int minIndex; |
protected int minIndex; |
65 |
protected ImageReaderSpi originatingProvider; |
protected ImageReaderSpi originatingProvider; |
66 |
protected List progressListeners; |
protected List progressListeners = new ArrayList(); |
67 |
protected boolean seekForwardOnly; |
protected boolean seekForwardOnly; |
68 |
protected List updateListeners = new ArrayList(); |
protected List updateListeners = new ArrayList(); |
69 |
protected List warningListeners = new ArrayList(); |
protected List warningListeners = new ArrayList(); |
157 |
public abstract Iterator getImageTypes(int imageIndex) |
public abstract Iterator getImageTypes(int imageIndex) |
158 |
throws IOException; |
throws IOException; |
159 |
|
|
160 |
|
public void setInput(Object input, |
161 |
|
boolean seekForwardOnly, |
162 |
|
boolean ignoreMetadata) |
163 |
|
{ |
164 |
|
Class[] okClasses = originatingProvider.getInputTypes(); |
165 |
|
if (okClasses == null) |
166 |
|
{ |
167 |
|
if (!(input instanceof ImageInputStream)) |
168 |
|
throw new IllegalArgumentException(); |
169 |
|
} |
170 |
|
else |
171 |
|
{ |
172 |
|
boolean classOk = false; |
173 |
|
for (int i = 0; i < okClasses.length; ++i) |
174 |
|
if (okClasses[i].isInstance(input)) |
175 |
|
classOk = true; |
176 |
|
if (!classOk) |
177 |
|
throw new IllegalArgumentException(); |
178 |
|
} |
179 |
|
|
180 |
|
this.input = input; |
181 |
|
this.seekForwardOnly = seekForwardOnly; |
182 |
|
this.ignoreMetadata = ignoreMetadata; |
183 |
|
this.minIndex = 0; |
184 |
|
} |
185 |
|
|
186 |
|
public void setInput(Object in, boolean seekForwardOnly) |
187 |
|
{ |
188 |
|
setInput(in, seekForwardOnly, false); |
189 |
|
} |
190 |
|
|
191 |
|
public void setInput(Object in) |
192 |
|
{ |
193 |
|
setInput(in, false, false); |
194 |
|
} |
195 |
|
|
196 |
public Object getInput() |
public Object getInput() |
197 |
{ |
{ |
198 |
return input; |
return input; |