package com.appmetr.hercules.column; import com.appmetr.hercules.partition.dated.DatedColumn; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; public class TestDatedColumn implements DatedColumn<TestDatedColumn> { protected long date; public TestDatedColumn(long date) { this.date = date; } @Override public long getDate() { return date; } @Override public String render() { return new DateTime(date, DateTimeZone.UTC).toString(); } @Override public TestDatedColumn max(TestDatedColumn col) { return new TestDatedColumn(Math.max(date, col.date)); } @Override public TestDatedColumn min(TestDatedColumn col) { return new TestDatedColumn(Math.min(date, col.date)); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; TestDatedColumn that = (TestDatedColumn) o; if (date != that.date) return false; return true; } @Override public int hashCode() { return (int) (date ^ (date >>> 32)); } @Override public int compareTo(TestDatedColumn col) { if (date == col.date) { return 0; } return (date < col.date) ? -1 : 1; } @Override public String toString() { return "SDC-" + new DateTime(date, DateTimeZone.UTC).toString(); } }