package eu.jucy.ui.searchspy;
import java.text.SimpleDateFormat;
import java.util.Comparator;
import java.util.Date;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import eu.jucy.ui.searchspy.SearchSpyEditor.SearchInfo;
import uihelpers.TableViewerAdministrator.ColumnDescriptor;
public abstract class SearchSpyColumns extends ColumnDescriptor<SearchInfo> {
public SearchSpyColumns(int defaultColumnSize, String columnName, int style) {
super(defaultColumnSize, columnName, style);
}
public Image getImage(SearchInfo x) {
return null;
}
public static class SearchStringColumn extends SearchSpyColumns {
public SearchStringColumn() {
super(350, Lang.SPYSearchString, SWT.LEAD);
}
public String getText(SearchInfo x) {
return x.getSearchString();
}
}
public static class Count extends SearchSpyColumns {
public Count() {
super(80, Lang.SPYCount, SWT.TRAIL);
}
public Comparator<SearchInfo> getComparator() {
return new Comparator<SearchInfo>() {
public int compare(SearchInfo o1, SearchInfo o2) {
return Integer.valueOf(o1.getCount()).compareTo(o2.getCount());
}
};
}
public String getText(SearchInfo x) {
return ""+x.getCount();
}
}
public static class Time extends SearchSpyColumns {
private final SimpleDateFormat format;
public Time() {
super(100, Lang.SPYTime, SWT.LEAD);
format = new SimpleDateFormat("HH:mm:ss");
}
public Comparator<SearchInfo> getComparator() {
return new Comparator<SearchInfo>() {
public int compare(SearchInfo o1, SearchInfo o2) {
Long.valueOf(o1.getDate()).compareTo(o2.getDate());
return 0;
}
};
}
public String getText(SearchInfo x) {
return format.format(new Date(x.getDate()));
}
}
public static class Hits extends SearchSpyColumns {
public Hits() {
super(60,Lang.SPYHits,SWT.TRAIL);
}
public Comparator<SearchInfo> getComparator() {
return new Comparator<SearchInfo>() {
public int compare(SearchInfo o1, SearchInfo o2) {
return Integer.valueOf(o1.getResults()).compareTo(o2.getResults());
}
};
}
public String getText(SearchInfo x) {
return Integer.toString(x.getResults());
}
}
}