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