0,0 → 1,56 |
package ak.photoalbum.webapp; |
|
import java.io.File; |
import java.io.IOException; |
import java.util.Map; |
import java.util.Hashtable; |
|
public class MetaInfo |
{ |
private File dir; |
private String dirPath; |
private Map items = new Hashtable(); // <String, MetaInfoItem> |
|
public MetaInfo() |
{ |
} |
|
public File getDir() |
{ |
return dir; |
} |
|
public void setDir(File dir) |
throws IOException |
{ |
this.dir = dir; |
this.dirPath = dir.getCanonicalPath(); |
if(!this.dirPath.endsWith(File.separator)) |
this.dirPath += File.separator; |
} |
|
public void addItem(MetaInfoItem item) |
{ |
items.put(item.getId(), item); |
} |
|
public MetaInfoItem findItem(File file) |
throws IOException |
{ |
String filePath = file.getCanonicalPath(); |
String id; |
|
if(file.isDirectory() && !filePath.endsWith(File.separator)) |
filePath += File.separator; |
|
if(filePath.length() < dirPath.length()) |
return null; |
else if(filePath.length() == dirPath.length()) |
id = "."; |
else |
id = filePath.substring(dirPath.length()); |
|
return (MetaInfoItem)items.get(id); |
} |
} |
|