package com.deepnighttwo.resourceresolver.ui.resolver.data;
import java.text.DateFormat;
import java.util.Date;
import org.eclipse.swt.graphics.Image;
import com.deepnighttwo.resourceresolver.ui.Activator;
/**
* Date date should be wrapped by this class.
*
* @author mzang
*
*/
public class DateData implements IResourceDetailsData {
private static Image image = Activator.getImageDescriptor(
"icons/date_calendar.gif").createImage();
private Date date;
public DateData(long timeInMilli) {
date = new Date(timeInMilli);
}
public DateData(Date date) {
this.date = date;
}
public String toString() {
DateFormat formatter = DateFormat.getDateTimeInstance();
return formatter.format(date);
}
@Override
public int compareTo(Object anotherDate) {
if (anotherDate instanceof DateData == false) {
return 1;
}
return date.compareTo(((DateData) anotherDate).date);
}
@Override
public String getDisplayText() {
return toString();
}
@Override
public Image getImage() {
return image;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((date == null) ? 0 : date.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
DateData other = (DateData) obj;
if (date == null) {
if (other.date != null)
return false;
} else if (!date.equals(other.date))
return false;
return true;
}
@Override
public DataType getDataType() {
return DataType.DATE;
}
}