comparison servlet/src/digilib/io/ImageFile.java @ 566:50f291d808b1 digilibPDF

starting stream support
author robcast
date Mon, 20 Dec 2010 11:57:55 +0100
parents d76a9e3f1ec9
children 34701340922e
comparison
equal deleted inserted replaced
565:8beefd1142b2 566:50f291d808b1
20 */ 20 */
21 21
22 package digilib.io; 22 package digilib.io;
23 23
24 import java.io.File; 24 import java.io.File;
25 import java.io.InputStream;
25 26
26 import digilib.image.ImageSize; 27 import digilib.image.ImageSize;
27 28
28 /** 29 /**
29 * @author casties 30 * @author casties
30 */ 31 */
31 public class ImageFile { 32 public class ImageFile implements ImageInput {
32 33
33 // file name 34 // file name
34 private String filename = null; 35 private String filename = null;
35 // parent ImageFileset 36 // parent ImageFileset
36 private ImageFileset parent = null; 37 private ImageFileset parent = null;
51 File f = new File(fn); 52 File f = new File(fn);
52 this.dir = new Directory(f.getParentFile()); 53 this.dir = new Directory(f.getParentFile());
53 this.filename = f.getName(); 54 this.filename = f.getName();
54 } 55 }
55 56
57
58 @Override
59 public boolean hasFile() {
60 // this is File-based
61 return true;
62 }
63
64 @Override
65 public boolean hasStream() {
66 return false;
67 }
68
56 /** Returns the file name (without path). 69 /** Returns the file name (without path).
57 * 70 *
58 * @return 71 * @return
59 */ 72 */
60 public String getName() { 73 public String getName() {
63 76
64 77
65 /** 78 /**
66 * @return File 79 * @return File
67 */ 80 */
81 @Override
68 public File getFile() { 82 public File getFile() {
69 if (dir == null) { 83 if (dir == null) {
70 return null; 84 return null;
71 } 85 }
72 File f = new File(dir.getDir(), filename); 86 File f = new File(dir.getDir(), filename);
73 return f; 87 return f;
74 } 88 }
75 89
76 /** 90 /* (non-Javadoc)
77 * @return ImageSize 91 * @see digilib.io.ImageInput#getSize()
78 */ 92 */
93 @Override
79 public ImageSize getSize() { 94 public ImageSize getSize() {
80 return pixelSize; 95 return pixelSize;
81 } 96 }
82 97
83 /** 98 /* (non-Javadoc)
84 * @return String 99 * @see digilib.io.ImageInput#getMimetype()
85 */ 100 */
101 @Override
86 public String getMimetype() { 102 public String getMimetype() {
87 return mimetype; 103 return mimetype;
88 } 104 }
89 105
90 /** 106 /* (non-Javadoc)
91 * Sets the imageSize. 107 * @see digilib.io.ImageInput#setSize(digilib.image.ImageSize)
92 * @param imageSize The imageSize to set
93 */ 108 */
109 @Override
94 public void setSize(ImageSize imageSize) { 110 public void setSize(ImageSize imageSize) {
95 this.pixelSize = imageSize; 111 this.pixelSize = imageSize;
96 // pass on to parent 112 // pass on to parent
97 if (this.parent != null) { 113 if (this.parent != null) {
98 this.parent.setAspect(imageSize); 114 this.parent.setAspect(imageSize);
99 } 115 }
100 } 116 }
101 117
102 /** 118 /* (non-Javadoc)
103 * Sets the mimetype. 119 * @see digilib.io.ImageInput#setMimetype(java.lang.String)
104 * @param mimetype The mimetype to set
105 */ 120 */
121 @Override
106 public void setMimetype(String filetype) { 122 public void setMimetype(String filetype) {
107 this.mimetype = filetype; 123 this.mimetype = filetype;
108 } 124 }
109 125
110 /** 126 /**
120 */ 136 */
121 public void setParent(ImageFileset parent) { 137 public void setParent(ImageFileset parent) {
122 this.parent = parent; 138 this.parent = parent;
123 } 139 }
124 140
125 /** 141 /* (non-Javadoc)
126 * @return boolean 142 * @see digilib.io.ImageInput#isChecked()
127 */ 143 */
144 @Override
128 public boolean isChecked() { 145 public boolean isChecked() {
129 return (pixelSize != null); 146 return (pixelSize != null);
130 } 147 }
131 148
132 /** Returns the aspect ratio of the image (width/height). 149 /* (non-Javadoc)
133 * 150 * @see digilib.io.ImageInput#getAspect()
134 * @return
135 */ 151 */
152 @Override
136 public float getAspect() { 153 public float getAspect() {
137 return (pixelSize != null) ? pixelSize.getAspect() : 0; 154 return (pixelSize != null) ? pixelSize.getAspect() : 0;
138 } 155 }
139 156
157 @Override
158 public InputStream getStream() {
159 return null;
160 }
161
140 } 162 }