| | |
| | | package hu.unr.fiber.cardapi; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| | | |
| | | import javax.persistence.*; |
| | | import java.util.Objects; |
| | | |
| | | @Entity |
| | | @Table(name = "Card") |
| | | @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) |
| | | public class Card { |
| | | private long id; |
| | | public static final long INVALID_ID = 0; |
| | | |
| | | @Id |
| | | @GeneratedValue(strategy = GenerationType.IDENTITY) |
| | | @Column(name = "id", updatable = false, nullable = false) |
| | | private long id = INVALID_ID; |
| | | private String name; |
| | | //FIXME: @Pattern([0-9]+) |
| | | @Column(unique=true) |
| | | private String number; |
| | | private String cardHolder; |
| | | |
| | | public Card(){ |
| | | super(); |
| | | } |
| | | |
| | | public Card(long id) { |
| | | this.id = id; |
| | |
| | | |
| | | public long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public boolean validId() { |
| | | return (this.getId() != Card.INVALID_ID); |
| | | } |
| | | |
| | | public void setId(long id) { |
| | |
| | | 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()); |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "#" + this.number + " - " + this.name + " @ " + this.cardHolder; |
| | | } |
| | | } |