Fibinger Ádám
2019-02-27 37e2b6c7cb1fde8b9e7bf8cb38f01eee8157324f
src/main/java/hu/unr/fiber/cardapi/Card.java
@@ -1,10 +1,29 @@
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;
@@ -19,6 +38,10 @@
    public long getId() {
        return id;
    }
    public boolean validId() {
        return (this.getId() != Card.INVALID_ID);
    }
    public void setId(long id) {
@@ -48,4 +71,25 @@
    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;
    }
}