Fibinger Ádám
2019-02-27 37e2b6c7cb1fde8b9e7bf8cb38f01eee8157324f
commit | author | age
9b7a17 1 package hu.unr.fiber.cardapi;
2
37e2b6 3 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4
5 import javax.persistence.*;
ca2732 6 import java.util.Objects;
7
a3ad94 8 @Entity
37e2b6 9 @Table(name = "Card")
10 @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
9b7a17 11 public class Card {
ca2732 12     public static final long INVALID_ID = 0;
a3ad94 13
14     @Id
37e2b6 15     @GeneratedValue(strategy = GenerationType.IDENTITY)
16     @Column(name = "id", updatable = false, nullable = false)
ca2732 17     private long id = INVALID_ID;
9b7a17 18     private String name;
ca2732 19     //FIXME: @Pattern([0-9]+)
37e2b6 20     @Column(unique=true)
9b7a17 21     private String number;
22     private String cardHolder;
23
a3ad94 24     public Card(){
25         super();
26     }
27
9b7a17 28     public Card(long id) {
29         this.id = id;
30     }
31
32     public Card(long id, String name, String number)
33     {
34         this.id = id;
35         this.name = name;
36         this.number = number;
37     }
38
39     public long getId() {
40         return id;
ca2732 41     }
42
43     public boolean validId() {
44         return (this.getId() != Card.INVALID_ID);
9b7a17 45     }
46
47     public void setId(long id) {
48         this.id = id;
49     }
50
51     public String getName() {
52         return name;
53     }
54
55     public void setName(String name) {
56         this.name = name;
57     }
58
59     public String getNumber() {
60         return number;
61     }
62
63     public void setNumber(String number) {
64         this.number = number;
65     }
66
67     public String getCardHolder() {
68         return cardHolder;
69     }
70
71     public void setCardHolder(String cardHolder) {
72         this.cardHolder = cardHolder;
73     }
ca2732 74
75     public boolean equals(Object o) {
76         if (this == o) return true;
77         if (o == null || getClass() != o.getClass()) return false;
78         Card card = (Card) o;
79         return id == card.id &&
80                 name.equals(card.name) &&
81                 number.equals(card.number) &&
82                 Objects.equals(cardHolder, card.cardHolder);
83     }
84
85     public void update(Card otherCard) {
86         this.setName(otherCard.getName());
87         this.setNumber(otherCard.getNumber());
88         this.setCardHolder(otherCard.getCardHolder());
89     }
37e2b6 90
91     @Override
92     public String toString() {
93         return "#" + this.number + " - " +  this.name + " @ " + this.cardHolder;
94     }
9b7a17 95 }