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