package org.erlide.tracing.core.mvc.model.treenodes;
import java.util.Date;
import org.eclipse.swt.graphics.Image;
import org.erlide.tracing.core.Activator;
import org.erlide.tracing.core.Images;
/**
* Node representing tracing results.
*
* @author Piotr Dorobisz
*
*/
public class TracingResultsNode extends TreeNode
implements Comparable<TracingResultsNode> {
private Date startDate;
private Date endDate;
private String fileName;
private long size;
public TracingResultsNode() {
this(null);
}
public TracingResultsNode(final String label) {
this(label, Activator.getDefault().getImageRegistry()
.get(Images.ROOT_NODE.toString()));
}
public TracingResultsNode(final String label, final Image image) {
super(label, image);
}
@Override
public int hashCode() {
// in set, when two objects have same hash code they are compared using
// theirs equals methods
return 0;
}
@Override
public boolean equals(final Object o) {
if (o == null || !o.getClass().equals(TracingResultsNode.class)) {
return false;
}
final TracingResultsNode trn = (TracingResultsNode) o;
return fileName.equals(trn.fileName);
}
@Override
public int compareTo(final TracingResultsNode trn) {
if (trn == null) {
throw new NullPointerException();
}
if (equals(trn)) {
return 0;
}
if (!startDate.equals(trn.startDate)) {
return startDate.compareTo(trn.startDate);
}
return endDate.compareTo(trn.endDate);
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(final Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(final Date endDate) {
this.endDate = endDate;
}
public String getFileName() {
return fileName;
}
public void setFileName(final String fileName) {
this.fileName = fileName;
}
public long getSize() {
return size;
}
public void setSize(final long size) {
this.size = size;
}
}