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