import org.joda.time.DateTime;
import java.math.BigDecimal;
public abstract class Iou implements Comparable<Iou> {
private static final boolean REVERSE_SORT = false;
private String title;
private String notes;
private DateTime timestamp;
/**
* Initializes a NonMonetaryIOU with the specified values and a current timestamp.
*/
public Iou(String title, BigDecimal monetaryValue) {
this.title = title;
this.monetaryValue = monetaryValue;
this.timestamp = new DateTime();
}
/**
* Initializes a NonMonetaryIOU with the specified values.
*/
public Iou(String title, BigDecimal monetaryValue, DateTime timestamp) {
this.title = title;
this.monetaryValue = monetaryValue
this.timestamp = timestamp;
}
@Override
public int compareTo(Iou iou) {
int direction = REVERSE_SORT ? -1 : 1;
return direction * this.timestamp.compareTo(iou.getTimestamp());
}
public String getTitle() {
return title;
}
public DateTime getTimestamp() {
return timestamp;
}
public void setTitle(String title) {
this.title = title;
}
public void setTimestamp(DateTime timestamp) {
this.timestamp = timestamp;
}
public BigDecimal getMonetaryValue() {
return monetaryValue;
}
public BigDecimal setMonetaryValue(BigDecimal monetaryValue) {
this.monetaryValue = monetaryValue;
}
}