annotate common/src/main/java/digilib/io/ImageCacheStream.java @ 903:7779b37d1d05

refactored into maven modules per servlet type. can build servlet-api 2.3 and 3.0 via profile now!
author robcast
date Tue, 26 Apr 2011 20:24:31 +0200
parents servlet/src/main/java/digilib/io/ImageCacheStream.java@ba1eb2d821a2
children 28d007673346
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
590
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
1 /**
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
2 *
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
3 */
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
4 package digilib.io;
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
5
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
6 import java.io.InputStream;
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
7
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
8 import javax.imageio.stream.ImageInputStream;
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
9 import javax.imageio.stream.MemoryCacheImageInputStream;
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
10
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
11 /**
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
12 * @author casties
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
13 *
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
14 */
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
15 public class ImageCacheStream extends ImageStream {
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
16
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
17 public ImageCacheStream(InputStream stream, String mimeType) {
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
18 super(stream, mimeType);
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
19 }
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
20
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
21 /*
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
22 * (non-Javadoc)
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
23 *
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
24 * @see digilib.io.ImageInput#hasImageInputStream()
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
25 */
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
26 @Override
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
27 public boolean hasImageInputStream() {
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
28 return true;
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
29 }
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
30
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
31 /*
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
32 * (non-Javadoc)
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
33 *
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
34 * @see digilib.io.ImageInput#getImageInputStream()
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
35 */
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
36 @Override
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
37 public ImageInputStream getImageInputStream() {
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
38 /*
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
39 * TODO: which type of stream backing?
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
40 * In general, it is preferable to
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
41 * use a FileCacheImageInputStream when reading from a regular
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
42 * InputStream. This class is provided for cases where it is not
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
43 * possible to create a writable temporary file.
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
44 */
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
45 ImageInputStream iis = new MemoryCacheImageInputStream(this.stream);
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
46 return iis;
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
47 }
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
48
69bc69381ac4 more work on stream input and more cleanup
robcast
parents:
diff changeset
49 }