package com.totsp.crossword; import java.io.File; import java.util.Date; import com.totsp.crossword.puz.PuzzleMeta; public class FileHandle implements Comparable<FileHandle> { File file; PuzzleMeta meta; FileHandle(File f, PuzzleMeta meta) { this.file = f; this.meta = meta; } public int compareTo(FileHandle another) { FileHandle h = (FileHandle) another; try { return h.getDate() .compareTo(this.getDate()); } catch (Exception e) { return 0; } } String getCaption() { return (meta == null) ? "" : meta.title; } Date getDate() { return (meta == null) ? new Date(file.lastModified()) : meta.date; } int getProgress() { return (meta == null) ? 0 : (meta.updatable ? (-1) : meta.percentComplete); } String getSource() { return ((meta == null) || (meta.source == null)) ? "Unknown" : meta.source; } String getTitle() { return ((meta == null) || (meta.source == null) || (meta.source.length() == 0)) ? file.getName() .substring(0, file.getName().lastIndexOf(".")) : meta.source; } @Override public String toString(){ return file.getAbsolutePath(); } }