package com.zipcoder.payment; public class CreditCard implements Payment { private long id; private String payerName; private String number; private int expiredMonth; private int expiredYear; public CreditCard() { } public void setId(long id) { this.id = id; } @Override public long getId() { return id; } public void setPayerName(String payerName) { this.payerName = payerName; } @Override public String getPayerName() { return payerName; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public int getExpiredMonth() { return expiredMonth; } public void setExpiredMonth(int expiredMonth) { this.expiredMonth = expiredMonth; } public int getExpiredYear() { return expiredYear; } public void setExpiredYear(int expiredYear) { this.expiredYear = expiredYear; } @Override public String getShortDescription() { return "CC " + payerName + " " + number.substring(number.length() - 4) + " " + expiredMonth + "/" + expiredYear; } @Override public int compareTo(Payment o) { if (this.getShortDescription().length() > o.getShortDescription().length()) { return 1; } else if (this.getShortDescription().equals(o.getShortDescription())) { return 0; } return -1; } }