class Transaction implements Comparable<Transaction> {

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}
		if (obj == this) {
			return true;
		}
		if (!(obj instanceof Transaction)) {
			return false;
		}
		Transaction other = (Transaction) obj;
		return amount == other.getAmount() && Objects.equals(getDate(), other.getDate())
				&& getDescription().equalsIgnoreCase(other.getDescription())
				&& Objects.equals(accountNumber, other.getAccountNumber());
	}

	public  Transaction(Date date, String description, long amount, Category category, String accountNumber);
	private  Transaction(String id, Date date, String description, long amount, String categoryName, Category category,
			String accountNumber);

}