From 12abae6da924cb33858fbc9948fdf7a181e2038c Mon Sep 17 00:00:00 2001
From: Fibinger Ádám <adam.fibinger@wup.hu>
Date: Tue, 12 Mar 2019 19:31:27 +0100
Subject: [PATCH] Decoupling final version

---
 src/main/java/hu/unr/fiber/cardapi/hibernate/Card.java |   49 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/src/main/java/hu/unr/fiber/cardapi/Card.java b/src/main/java/hu/unr/fiber/cardapi/hibernate/Card.java
similarity index 60%
rename from src/main/java/hu/unr/fiber/cardapi/Card.java
rename to src/main/java/hu/unr/fiber/cardapi/hibernate/Card.java
index b5959be..b6e095e 100644
--- a/src/main/java/hu/unr/fiber/cardapi/Card.java
+++ b/src/main/java/hu/unr/fiber/cardapi/hibernate/Card.java
@@ -1,14 +1,13 @@
-package hu.unr.fiber.cardapi;
+package hu.unr.fiber.cardapi.hibernate;
 
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import hu.unr.fiber.cardapi.interfaces.CardInterface;
 
 import javax.persistence.*;
 import java.util.Objects;
 
 @Entity
 @Table(name = "Card")
-@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
-public class Card {
+public class Card implements CardInterface {
     public static final long INVALID_ID = 0;
 
     @Id
@@ -17,23 +16,29 @@
     private long id = INVALID_ID;
     private String name;
     //FIXME: @Pattern([0-9]+)
-    @Column(unique=true)
+    @Column(unique = true)
     private String number;
     private String cardHolder;
 
-    public Card(){
+    public Card() {
         super();
     }
 
     public Card(long id) {
-        this.id = id;
+        this.setId(id);
     }
 
-    public Card(long id, String name, String number)
-    {
-        this.id = id;
-        this.name = name;
-        this.number = number;
+    public Card(long id, String name, String number) {
+        this.setId(id)
+                .setName(name)
+                .setNumber(number);
+    }
+
+    public Card(long id, String name, String number, String cardHolder) {
+        this.setId(id)
+                .setName(name)
+                .setNumber(number)
+                .setCardHolder(cardHolder);
     }
 
     public long getId() {
@@ -44,32 +49,36 @@
         return (this.getId() != Card.INVALID_ID);
     }
 
-    public void setId(long id) {
+    public Card setId(long id) {
         this.id = id;
+        return this;
     }
 
     public String getName() {
         return name;
     }
 
-    public void setName(String name) {
+    public Card setName(String name) {
         this.name = name;
+        return this;
     }
 
     public String getNumber() {
         return number;
     }
 
-    public void setNumber(String number) {
+    public Card setNumber(String number) {
         this.number = number;
+        return this;
     }
 
     public String getCardHolder() {
         return cardHolder;
     }
 
-    public void setCardHolder(String cardHolder) {
+    public Card setCardHolder(String cardHolder) {
         this.cardHolder = cardHolder;
+        return this;
     }
 
     public boolean equals(Object o) {
@@ -82,14 +91,16 @@
                 Objects.equals(cardHolder, card.cardHolder);
     }
 
-    public void update(Card otherCard) {
+    public CardInterface update(CardInterface otherCard) {
         this.setName(otherCard.getName());
         this.setNumber(otherCard.getNumber());
         this.setCardHolder(otherCard.getCardHolder());
+
+        return this;
     }
 
     @Override
     public String toString() {
-        return "#" + this.number + " - " +  this.name + " @ " + this.cardHolder;
+        return "#" + this.number + " - " + this.name + " @ " + this.cardHolder;
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0