Mercurial > hg > digilib-old
view servlet/src/digilib/io/DocuDirent.java @ 166:6132c29ac9f9
Servlet Version 1.16b2 with new DigilibParameter code.
- more generic class for request parameters
- like already done for DiglibConfig
- changes in JSPs for new request stuff
- changes in ImageSize class so size=0 is "wildcard"
- missing dw and dh parameters now treated as wildcards
- changed package name in imageinfo class
author | robcast |
---|---|
date | Wed, 29 Oct 2003 22:45:51 +0100 |
parents | e743b853efca |
children | 67ff8c7fecb9 |
line wrap: on
line source
/* DocuDirent.java -- Abstract directory entry in a DocuDirectory Digital Image Library servlet components Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please read license.txt for the full details. A copy of the GPL may be found at http://www.gnu.org/copyleft/lgpl.html You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Created on 15.09.2003 by casties * */ package digilib.io; import java.io.File; import java.util.HashMap; /** Abstract directory entry in a DocuDirectory. * * @author casties * */ public abstract class DocuDirent { /** the file class of this file */ protected static int fileClass = FileOps.CLASS_NONE; /** HashMap with metadata */ protected HashMap fileMeta = null; /** Is the Metadata valid */ protected boolean metaChecked = false; /** the parent directory */ protected Directory parent = null; /** Checks metadata and does something with it. * */ public abstract void checkMeta(); /** * gets the (default) File * @return */ public abstract File getFile(); /** Reads meta-data for this Fileset if there is any. * */ public void readMeta() { if ((fileMeta != null) || (getFile() != null)) { // there is already metadata or there is no file return; } // metadata is in the file {filename}.meta String fn = getFile().getAbsolutePath(); File mf = new File(fn + ".meta"); if (mf.canRead()) { XMLMetaLoader ml = new XMLMetaLoader(); try { // read meta file HashMap meta = ml.loadURL(mf.getAbsolutePath()); if (meta == null) { return; } fileMeta = (HashMap) meta.get(getName()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** The name of the (hires) image file. * * @return */ public String getName() { File f = getFile(); return (f != null) ? f.getName() : null; } /** Returns the parent DocuDirectory. * * @return DocuDirectory */ public Directory getParent() { return parent; } /** * Sets the parent. * @param parent The parent to set */ public void setParent(Directory parent) { this.parent = parent; } /** Returns the meta-data for this fileset. * * @return HashMap */ public HashMap getFileMeta() { return fileMeta; } /** * Sets the fileMeta. * @param fileMeta The fileMeta to set */ public void setFileMeta(HashMap fileMeta) { this.fileMeta = fileMeta; } /** * @return */ public boolean isMetaChecked() { return metaChecked; } /** * @return */ public static int getFileClass() { return fileClass; } }