package hu.unr.fiber.cardapi; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.util.Objects; @Entity public class Card { public static final long INVALID_ID = 0; @Id @GeneratedValue private long id = INVALID_ID; private String name; //FIXME: @Pattern([0-9]+) private String number; private String cardHolder; public Card(){ super(); } public Card(long id) { this.id = id; } public Card(long id, String name, String number) { this.id = id; this.name = name; this.number = number; } public long getId() { return id; } public boolean validId() { return (this.getId() != Card.INVALID_ID); } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getCardHolder() { return cardHolder; } public void setCardHolder(String cardHolder) { this.cardHolder = cardHolder; } public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Card card = (Card) o; return id == card.id && name.equals(card.name) && number.equals(card.number) && Objects.equals(cardHolder, card.cardHolder); } public void update(Card otherCard) { this.setName(otherCard.getName()); this.setNumber(otherCard.getNumber()); this.setCardHolder(otherCard.getCardHolder()); } }