annotate servlet/src/digilib/io/ImageFile.java @ 576:dad720e9b12b stream

try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
author robcast
date Wed, 22 Dec 2010 20:19:06 +0100
parents 790cbfb58b52
children 7357ad8f9f42
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
1 /* ImageFile.java -- digilib image file class.
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
2
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
3 Digital Image Library servlet components
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
4
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
5 Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de)
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
6
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
7 This program is free software; you can redistribute it and/or modify it
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
9 Free Software Foundation; either version 2 of the License, or (at your
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
10 option) any later version.
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
11
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
12 Please read license.txt for the full details. A copy of the GPL
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
13 may be found at http://www.gnu.org/copyleft/lgpl.html
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
14
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
16 along with this program; if not, write to the Free Software
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
18
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
19 * Created on 25.02.2003
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
20 */
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
21
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
22 package digilib.io;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
23
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
24 import java.io.File;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
25
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
26 import digilib.image.ImageSize;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
27
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
28 /**
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
29 * @author casties
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
30 */
568
34701340922e more starting stream support
robcast
parents: 566
diff changeset
31 public class ImageFile extends ImageInput {
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
32
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
33 // file name
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
34 private String filename = null;
574
790cbfb58b52 ripping apart ImageFileSet
robcast
parents: 568
diff changeset
35 // parent ImageSet
790cbfb58b52 ripping apart ImageFileSet
robcast
parents: 568
diff changeset
36 private ImageSet parent = null;
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
37 // parent directory
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
38 private Directory dir = null;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
39
574
790cbfb58b52 ripping apart ImageFileSet
robcast
parents: 568
diff changeset
40 public ImageFile(String fn, ImageSet parent, Directory dir) {
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
41 this.filename = fn;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
42 this.parent = parent;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
43 this.dir = dir;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
44 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
45
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
46 public ImageFile(String fn) {
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
47 File f = new File(fn);
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
48 this.dir = new Directory(f.getParentFile());
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
49 this.filename = f.getName();
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
50 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
51
566
50f291d808b1 starting stream support
robcast
parents: 463
diff changeset
52
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
53 /** Returns the file name (without path).
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
54 *
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
55 * @return
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
56 */
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
57 public String getName() {
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
58 return filename;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
59 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
60
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
61
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
62 /**
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
63 * @return File
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
64 */
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
65 public File getFile() {
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
66 if (dir == null) {
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
67 return null;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
68 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
69 File f = new File(dir.getDir(), filename);
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
70 return f;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
71 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
72
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
73 /**
574
790cbfb58b52 ripping apart ImageFileSet
robcast
parents: 568
diff changeset
74 * @return ImageSet
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
75 */
574
790cbfb58b52 ripping apart ImageFileSet
robcast
parents: 568
diff changeset
76 public ImageSet getParent() {
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
77 return parent;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
78 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
79
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
80 /**
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
81 * Sets the parent.
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
82 * @param parent The parent to set
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
83 */
574
790cbfb58b52 ripping apart ImageFileSet
robcast
parents: 568
diff changeset
84 public void setParent(ImageSet parent) {
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
85 this.parent = parent;
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
86 }
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
87
566
50f291d808b1 starting stream support
robcast
parents: 463
diff changeset
88 /* (non-Javadoc)
568
34701340922e more starting stream support
robcast
parents: 566
diff changeset
89 * @see digilib.io.ImageInput#setSize(digilib.image.ImageSize)
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
90 */
568
34701340922e more starting stream support
robcast
parents: 566
diff changeset
91 public void setSize(ImageSize imageSize) {
34701340922e more starting stream support
robcast
parents: 566
diff changeset
92 this.pixelSize = imageSize;
34701340922e more starting stream support
robcast
parents: 566
diff changeset
93 // pass on to parent
34701340922e more starting stream support
robcast
parents: 566
diff changeset
94 if (this.parent != null) {
34701340922e more starting stream support
robcast
parents: 566
diff changeset
95 this.parent.setAspect(imageSize);
34701340922e more starting stream support
robcast
parents: 566
diff changeset
96 }
566
50f291d808b1 starting stream support
robcast
parents: 463
diff changeset
97 }
50f291d808b1 starting stream support
robcast
parents: 463
diff changeset
98
576
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
99 /* (non-Javadoc)
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
100 * @see java.lang.Object#toString()
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
101 */
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
102 @Override
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
103 public String toString() {
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
104 // try to use File.toString
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
105 File f = getFile();
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
106 if (f != null) {
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
107 return f.toString();
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
108 }
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
109 return super.toString();
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
110 }
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
111
dad720e9b12b try: DocuDirent as interface, ImageFile inherits from ImageInput and implements DocuDirent
robcast
parents: 574
diff changeset
112
159
e743b853efca servlet version 1.16a4
robcast
parents:
diff changeset
113 }