package hu.unr.fiber.cardapi.rest; import hu.unr.fiber.cardapi.entity.CardEntityInterface; import java.util.Objects; public class CardEntity implements CardEntityInterface { public static final long INVALID_ID = 0; private long id = INVALID_ID; private String name; //FIXME: @Pattern([0-9]+) private String number; private String cardHolder; public CardEntity(long id) { this.id = id; } public CardEntity(long id, String name, String number) { this.setId(id) .setName(name) .setNumber(number); } public CardEntity(long id, String name, String number, String cardHolder) { this.setId(id) .setName(name) .setNumber(number) .setCardHolder(cardHolder); } public long getId() { return id; } public boolean validId() { return (this.getId() != CardEntity.INVALID_ID); } public CardEntity setId(long id) { this.id = id; return this; } public String getName() { return name; } public CardEntity setName(String name) { this.name = name; return this; } public String getNumber() { return number; } public CardEntity setNumber(String number) { this.number = number; return this; } public String getCardHolder() { return cardHolder; } public CardEntity setCardHolder(String cardHolder) { this.cardHolder = cardHolder; return this; } public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CardEntity card = (CardEntity) o; return id == card.id && name.equals(card.name) && number.equals(card.number) && Objects.equals(cardHolder, card.cardHolder); } public CardEntity update(CardEntityInterface otherCardEntity) { this.setName(otherCardEntity.getName()); this.setNumber(otherCardEntity.getNumber()); this.setCardHolder(otherCardEntity.getCardHolder()); return this; } public String toString() { return "#" + this.number + " - " + this.name + " @ " + this.cardHolder; } }