package edu.washington.cs.oneswarm.ui.gwt.client.newui.tableutils; import java.util.Date; import com.google.gwt.user.client.ui.Label; import edu.washington.cs.oneswarm.ui.gwt.rpc.StringTools; public class SortableDateColumn extends Label implements Comparable { public enum FormatStyle { APPLE, NOTIME, FULL; } Date mDate = null; public SortableDateColumn(Date inDate, FormatStyle format) { super(); if (inDate == null) { mDate = new Date(0); setText("Unknown"); } else { mDate = inDate; if (inDate.equals(new Date(0))) { setText("Unknown"); } else { switch (format) { case APPLE: setText(StringTools.formatDateAppleLike(inDate, false)); break; case NOTIME: setText(StringTools.formatDateMonthDayYear(inDate)); break; case FULL: setText(inDate.toString()); break; } } } } public int compareTo(Object o) { if (o instanceof SortableDateColumn) { return this.mDate.compareTo(((SortableDateColumn) o).mDate); } return -1; } }