]> git.mxchange.org Git - jfinancials-core.git/commitdiff
moved to proper package, they are model classes
authorRoland Haeder <roland@mxchange.org>
Thu, 13 Apr 2017 20:14:19 +0000 (22:14 +0200)
committerRoland Haeder <roland@mxchange.org>
Thu, 13 Apr 2017 20:14:19 +0000 (22:14 +0200)
Signed-off-by: Roland Häder <roland@mxchange.org>
src/org/mxchange/jfinancials/model/receipt/Billable.java [new file with mode: 0644]
src/org/mxchange/jfinancials/model/receipt/Receipt.java [new file with mode: 0644]
src/org/mxchange/jfinancials/model/receipt/entry/BillableReceiptEntry.java [new file with mode: 0644]
src/org/mxchange/jfinancials/model/receipt/entry/ReceiptEntry.java [new file with mode: 0644]
src/org/mxchange/jfinancials/receipt/Billable.java [deleted file]
src/org/mxchange/jfinancials/receipt/Receipt.java [deleted file]
src/org/mxchange/jfinancials/receipt/entry/BillableReceiptEntry.java [deleted file]
src/org/mxchange/jfinancials/receipt/entry/ReceiptEntry.java [deleted file]

diff --git a/src/org/mxchange/jfinancials/model/receipt/Billable.java b/src/org/mxchange/jfinancials/model/receipt/Billable.java
new file mode 100644 (file)
index 0000000..0e35e18
--- /dev/null
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.model.receipt;
+
+import java.io.Serializable;
+import java.util.Calendar;
+import org.mxchange.jcontactsbusiness.BusinessContact;
+import org.mxchange.jshopcore.model.payment.PaymentType;
+import org.mxchange.jusercore.model.user.User;
+
+/**
+ * An interface for receipts
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+public interface Billable extends Serializable {
+
+       /**
+        * Getter for when this receipt has been created in database
+        * <p>
+        * @return Receipt creation timestamp
+        */
+       Calendar getReceiptCreated ();
+
+       /**
+        * Setter for when this receipt has been created in database
+        * <p>
+        * @param receiptCreated Receipt creation timestamp
+        */
+       void setReceiptCreated (final Calendar receiptCreated);
+
+       /**
+        * Getter for primary key
+        * <p>
+        * @return Primary key
+        */
+       Long getReceiptId ();
+
+       /**
+        * Setter for primary key
+        * <p>
+        * @param receiptId Primary key
+        */
+       void setReceiptId (final Long receiptId);
+
+       /**
+        * Getter for receipt's user
+        * <p>
+        * @return Receipt's user
+        */
+       User getReceiptUser ();
+
+       /**
+        * Setter for receipt's user
+        * <p>
+        * @param receiptUser Receipt's user
+        */
+       void setReceiptUser (final User receiptUser);
+
+       /**
+        * Getter for seller instance
+        * <p>
+        * @return Seller instance
+        */
+       BusinessContact getReceiptSeller ();
+
+       /**
+        * Setter for seller instance
+        * <p>
+        * @param receiptSeller Seller instance
+        */
+       void setReceiptSeller (final BusinessContact receiptSeller);
+
+       /**
+        * Getter for payment type
+        * <p>
+        * @return Payment type
+        */
+       PaymentType getReceiptPaymentType ();
+
+       /**
+        * Setter for payment type
+        * <p>
+        * @param receiptPaymentType Payment type
+        */
+       void setReceiptPaymentType (final PaymentType receiptPaymentType);
+
+       @Override
+       boolean equals (final Object object);
+
+       @Override
+       int hashCode ();
+
+}
diff --git a/src/org/mxchange/jfinancials/model/receipt/Receipt.java b/src/org/mxchange/jfinancials/model/receipt/Receipt.java
new file mode 100644 (file)
index 0000000..1d334a8
--- /dev/null
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.model.receipt;
+
+import java.util.Calendar;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+import org.mxchange.jcontactsbusiness.BusinessContact;
+import org.mxchange.jcontactsbusiness.CompanyContact;
+import org.mxchange.jshopcore.model.payment.PaymentType;
+import org.mxchange.jusercore.model.user.LoginUser;
+import org.mxchange.jusercore.model.user.User;
+
+/**
+ *
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+@Entity (name = "receipts")
+@Table (
+               name = "receipts"
+)
+@SuppressWarnings ("PersistenceUnitPresent")
+public class Receipt implements Billable {
+
+       /**
+        * Serial number
+        */
+       @Transient
+       private static final long serialVersionUID = 185_867_217_461L;
+
+       /**
+        * When this receipt has been created
+        */
+       @Basic (optional = false)
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "receipt_created", nullable = false)
+       private Calendar receiptCreated;
+
+       /**
+        * Primary key
+        */
+       @Id
+       @GeneratedValue (strategy = GenerationType.AUTO)
+       @Column (name = "receipt_id", nullable = false, updatable = false)
+       private Long receiptId;
+
+       /**
+        * Payment type (cash, credit card, EC card ...)
+        */
+       @Basic (optional = false)
+       @Column (name = "receipt_payment_type", nullable = false)
+       @Enumerated (EnumType.STRING)
+       private PaymentType receiptPaymentType;
+
+       /**
+        * Seller instance
+        */
+       @JoinColumn (name = "receipt_seller_id", referencedColumnName = "company_id", nullable = false, updatable = false)
+       @OneToOne (targetEntity = CompanyContact.class, cascade = CascadeType.REFRESH, optional = false)
+       private BusinessContact receiptSeller;
+
+       /**
+        * Which user this receipt belongs to
+        */
+       @JoinColumn (name = "receipt_user_id", referencedColumnName = "user_id", nullable = false, updatable = false)
+       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH, optional = false)
+       private User receiptUser;
+
+       @Override
+       @SuppressWarnings ("ReturnOfDateField")
+       public Calendar getReceiptCreated () {
+               return this.receiptCreated;
+       }
+
+       @Override
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+       public void setReceiptCreated (final Calendar receiptCreated) {
+               this.receiptCreated = receiptCreated;
+       }
+
+       @Override
+       public Long getReceiptId () {
+               return this.receiptId;
+       }
+
+       @Override
+       public void setReceiptId (final Long receiptId) {
+               this.receiptId = receiptId;
+       }
+
+       @Override
+       public PaymentType getReceiptPaymentType () {
+               return this.receiptPaymentType;
+       }
+
+       @Override
+       public void setReceiptPaymentType (final PaymentType receiptPaymentType) {
+               this.receiptPaymentType = receiptPaymentType;
+       }
+
+       @Override
+       public BusinessContact getReceiptSeller () {
+               return this.receiptSeller;
+       }
+
+       @Override
+       public void setReceiptSeller (final BusinessContact receiptSeller) {
+               this.receiptSeller = receiptSeller;
+       }
+
+       @Override
+       public User getReceiptUser () {
+               return this.receiptUser;
+       }
+
+       @Override
+       public void setReceiptUser (final User receiptUser) {
+               this.receiptUser = receiptUser;
+       }
+
+}
diff --git a/src/org/mxchange/jfinancials/model/receipt/entry/BillableReceiptEntry.java b/src/org/mxchange/jfinancials/model/receipt/entry/BillableReceiptEntry.java
new file mode 100644 (file)
index 0000000..3d6dc5a
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.model.receipt.entry;
+
+import java.io.Serializable;
+import java.util.Calendar;
+import org.mxchange.jfinancials.model.receipt.Billable;
+import org.mxchange.jshopcore.model.product.Product;
+
+/**
+ * An interface for receipt entries
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+public interface BillableReceiptEntry extends Serializable {
+
+       /**
+        * Getter when this receipt entry has been created in database
+        * <p>
+        * @return When this entry has been created
+        */
+       Calendar getEntryCreated ();
+
+       /**
+        * Setter when this receipt entry has been created in database
+        * <p>
+        * @param entryCreated When this entry has been created
+        */
+       void setEntryCreated (final Calendar entryCreated);
+
+       /**
+        * Getter for primary key
+        * <p>
+        * @return Primary key
+        */
+       Long getEntryId ();
+
+       /**
+        * Setter for primary key
+        * <p>
+        * @param entryId Primary key
+        */
+       void setEntryId (final Long entryId);
+
+       /**
+        * Getter for receipt instance
+        * <p>
+        * @return Receipt instance
+        */
+       Billable getEntryReceipt ();
+
+       /**
+        * Setter for receipt instance
+        * <p>
+        * @param entryReceipt Receipt instance
+        */
+       void setEntryReceipt (final Billable entryReceipt);
+
+       /**
+        * Getter for linked product
+        * <p>
+        * @return Product
+        */
+       Product getEntryProduct ();
+
+       /**
+        * Setter for linked product
+        * <p>
+        * @param entryProduct Product
+        */
+       void setEntryProduct (final Product entryProduct);
+
+       /**
+        * Getter for product quantity
+        * <p>
+        * @return Product quantity
+        */
+       Long getEntryProductQuantity ();
+
+       /**
+        * Setter for product quantity
+        * <p>
+        * @param entryProductQuantity Product quantity
+        */
+       void setEntryProductQuantity (final Long entryProductQuantity);
+
+       /**
+        * Getter for product single price (copied from GenericProduct)
+        * <p>
+        * @return Product single price
+        */
+       Float getEntryProductPrice ();
+
+       /**
+        * Setter for product single price (copied from GenericProduct)
+        * <p>
+        * @param entryProductPrice Product single price
+        */
+       void setEntryProductPrice (final Float entryProductPrice);
+
+       @Override
+       boolean equals (final Object object);
+
+       @Override
+       int hashCode ();
+
+}
diff --git a/src/org/mxchange/jfinancials/model/receipt/entry/ReceiptEntry.java b/src/org/mxchange/jfinancials/model/receipt/entry/ReceiptEntry.java
new file mode 100644 (file)
index 0000000..c744b1e
--- /dev/null
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jfinancials.model.receipt.entry;
+
+import java.util.Calendar;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Index;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+import org.mxchange.jfinancials.model.receipt.Billable;
+import org.mxchange.jfinancials.model.receipt.Receipt;
+import org.mxchange.jshopcore.model.product.GenericProduct;
+import org.mxchange.jshopcore.model.product.Product;
+
+/**
+ * A class for entryReceipt entries
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+@Entity (name = "receipt_entries")
+@Table (
+               name = "receipt_entries",
+               indexes = {
+                       @Index (name = "entry_receipt_product", columnList = "entry_receipt_id,entry_product_id", unique = true)
+               }
+)
+@SuppressWarnings ("PersistenceUnitPresent")
+public class ReceiptEntry implements BillableReceiptEntry {
+
+       /**
+        * Serial number
+        */
+       @Transient
+       private static final long serialVersionUID = 126_498_698_378_571L;
+
+       /**
+        * When this entry has been created in database
+        */
+       @Basic (optional = false)
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "entry_created", nullable = false)
+       private Calendar entryCreated;
+
+       /**
+        * Primary key
+        */
+       @Id
+       @GeneratedValue (strategy = GenerationType.IDENTITY)
+       @Column (name = "entry_id", nullable = false, updatable = false)
+       private Long entryId;
+
+       /**
+        * Product being linked in this entryReceipt item
+        */
+       @JoinColumn (name = "entry_product_id", referencedColumnName = "product_id", nullable = false, updatable = false, unique = true)
+       @OneToOne (targetEntity = GenericProduct.class, cascade = CascadeType.ALL, optional = false)
+       private Product entryProduct;
+
+       /**
+        * Single product price (being copied here from GenericProduct)
+        */
+       @Basic (optional = false)
+       @Column (name = "entry_product_price", nullable = false)
+       private Float entryProductPrice;
+
+       /**
+        * Product quantity
+        */
+       @Basic (optional = false)
+       @Column (name = "entry_product_quantity", nullable = false)
+       private Long entryProductQuantity;
+
+       /**
+        * Connected entryReceipt entry
+        */
+       @JoinColumn (name = "entry_receipt_id", referencedColumnName = "receipt_id", nullable = false, updatable = false, unique = true)
+       @OneToOne (targetEntity = Receipt.class, cascade = CascadeType.REFRESH, optional = false)
+       private Billable entryReceipt;
+
+       @Override
+       @SuppressWarnings ("ReturnOfDateField")
+       public Calendar getEntryCreated () {
+               return this.entryCreated;
+       }
+
+       @Override
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+       public void setEntryCreated (final Calendar entryCreated) {
+               this.entryCreated = entryCreated;
+       }
+
+       @Override
+       public Long getEntryId () {
+               return this.entryId;
+       }
+
+       @Override
+       public void setEntryId (final Long entryId) {
+               this.entryId = entryId;
+       }
+
+       @Override
+       public Product getEntryProduct () {
+               return this.entryProduct;
+       }
+
+       @Override
+       public void setEntryProduct (final Product entryProduct) {
+               this.entryProduct = entryProduct;
+       }
+
+       @Override
+       public Float getEntryProductPrice () {
+               return this.entryProductPrice;
+       }
+
+       @Override
+       public void setEntryProductPrice (final Float entryProductPrice) {
+               this.entryProductPrice = entryProductPrice;
+       }
+
+       @Override
+       public Long getEntryProductQuantity () {
+               return this.entryProductQuantity;
+       }
+
+       @Override
+       public void setEntryProductQuantity (final Long entryProductQuantity) {
+               this.entryProductQuantity = entryProductQuantity;
+       }
+
+       @Override
+       public Billable getEntryReceipt () {
+               return this.entryReceipt;
+       }
+
+       @Override
+       public void setEntryReceipt (final Billable entryReceipt) {
+               this.entryReceipt = entryReceipt;
+       }
+
+}
diff --git a/src/org/mxchange/jfinancials/receipt/Billable.java b/src/org/mxchange/jfinancials/receipt/Billable.java
deleted file mode 100644 (file)
index 2b1d391..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.jfinancials.receipt;
-
-import java.io.Serializable;
-import java.util.Calendar;
-import org.mxchange.jcontactsbusiness.BusinessContact;
-import org.mxchange.jshopcore.model.payment.PaymentType;
-import org.mxchange.jusercore.model.user.User;
-
-/**
- * An interface for receipts
- * <p>
- * @author Roland Haeder<roland@mxchange.org>
- */
-public interface Billable extends Serializable {
-
-       /**
-        * Getter for when this receipt has been created in database
-        * <p>
-        * @return Receipt creation timestamp
-        */
-       Calendar getReceiptCreated ();
-
-       /**
-        * Setter for when this receipt has been created in database
-        * <p>
-        * @param receiptCreated Receipt creation timestamp
-        */
-       void setReceiptCreated (final Calendar receiptCreated);
-
-       /**
-        * Getter for primary key
-        * <p>
-        * @return Primary key
-        */
-       Long getReceiptId ();
-
-       /**
-        * Setter for primary key
-        * <p>
-        * @param receiptId Primary key
-        */
-       void setReceiptId (final Long receiptId);
-
-       /**
-        * Getter for receipt's user
-        * <p>
-        * @return Receipt's user
-        */
-       User getReceiptUser ();
-
-       /**
-        * Setter for receipt's user
-        * <p>
-        * @param receiptUser Receipt's user
-        */
-       void setReceiptUser (final User receiptUser);
-
-       /**
-        * Getter for seller instance
-        * <p>
-        * @return Seller instance
-        */
-       BusinessContact getReceiptSeller ();
-
-       /**
-        * Setter for seller instance
-        * <p>
-        * @param receiptSeller Seller instance
-        */
-       void setReceiptSeller (final BusinessContact receiptSeller);
-
-       /**
-        * Getter for payment type
-        * <p>
-        * @return Payment type
-        */
-       PaymentType getReceiptPaymentType ();
-
-       /**
-        * Setter for payment type
-        * <p>
-        * @param receiptPaymentType Payment type
-        */
-       void setReceiptPaymentType (final PaymentType receiptPaymentType);
-
-       @Override
-       boolean equals (final Object object);
-
-       @Override
-       int hashCode ();
-
-}
diff --git a/src/org/mxchange/jfinancials/receipt/Receipt.java b/src/org/mxchange/jfinancials/receipt/Receipt.java
deleted file mode 100644 (file)
index 337ac29..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.jfinancials.receipt;
-
-import java.util.Calendar;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-import javax.persistence.Transient;
-import org.mxchange.jcontactsbusiness.BusinessContact;
-import org.mxchange.jcontactsbusiness.CompanyContact;
-import org.mxchange.jshopcore.model.payment.PaymentType;
-import org.mxchange.jusercore.model.user.LoginUser;
-import org.mxchange.jusercore.model.user.User;
-
-/**
- *
- * @author Roland Haeder<roland@mxchange.org>
- */
-@Entity (name = "receipts")
-@Table (
-               name = "receipts"
-)
-@SuppressWarnings ("PersistenceUnitPresent")
-public class Receipt implements Billable {
-
-       /**
-        * Serial number
-        */
-       @Transient
-       private static final long serialVersionUID = 185_867_217_461L;
-
-       /**
-        * When this receipt has been created
-        */
-       @Basic (optional = false)
-       @Temporal (TemporalType.TIMESTAMP)
-       @Column (name = "receipt_created", nullable = false)
-       private Calendar receiptCreated;
-
-       /**
-        * Primary key
-        */
-       @Id
-       @GeneratedValue (strategy = GenerationType.AUTO)
-       @Column (name = "receipt_id", nullable = false, updatable = false)
-       private Long receiptId;
-
-       /**
-        * Payment type (cash, credit card, EC card ...)
-        */
-       @Basic (optional = false)
-       @Column (name = "receipt_payment_type", nullable = false)
-       @Enumerated (EnumType.STRING)
-       private PaymentType receiptPaymentType;
-
-       /**
-        * Seller instance
-        */
-       @JoinColumn (name = "receipt_seller_id", referencedColumnName = "company_id", nullable = false, updatable = false)
-       @OneToOne (targetEntity = CompanyContact.class, cascade = CascadeType.REFRESH, optional = false)
-       private BusinessContact receiptSeller;
-
-       /**
-        * Which user this receipt belongs to
-        */
-       @JoinColumn (name = "receipt_user_id", referencedColumnName = "user_id", nullable = false, updatable = false)
-       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH, optional = false)
-       private User receiptUser;
-
-       @Override
-       @SuppressWarnings ("ReturnOfDateField")
-       public Calendar getReceiptCreated () {
-               return this.receiptCreated;
-       }
-
-       @Override
-       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
-       public void setReceiptCreated (final Calendar receiptCreated) {
-               this.receiptCreated = receiptCreated;
-       }
-
-       @Override
-       public Long getReceiptId () {
-               return this.receiptId;
-       }
-
-       @Override
-       public void setReceiptId (final Long receiptId) {
-               this.receiptId = receiptId;
-       }
-
-       @Override
-       public PaymentType getReceiptPaymentType () {
-               return this.receiptPaymentType;
-       }
-
-       @Override
-       public void setReceiptPaymentType (final PaymentType receiptPaymentType) {
-               this.receiptPaymentType = receiptPaymentType;
-       }
-
-       @Override
-       public BusinessContact getReceiptSeller () {
-               return this.receiptSeller;
-       }
-
-       @Override
-       public void setReceiptSeller (final BusinessContact receiptSeller) {
-               this.receiptSeller = receiptSeller;
-       }
-
-       @Override
-       public User getReceiptUser () {
-               return this.receiptUser;
-       }
-
-       @Override
-       public void setReceiptUser (final User receiptUser) {
-               this.receiptUser = receiptUser;
-       }
-
-}
diff --git a/src/org/mxchange/jfinancials/receipt/entry/BillableReceiptEntry.java b/src/org/mxchange/jfinancials/receipt/entry/BillableReceiptEntry.java
deleted file mode 100644 (file)
index 559119f..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.jfinancials.receipt.entry;
-
-import java.io.Serializable;
-import java.util.Calendar;
-import org.mxchange.jfinancials.receipt.Billable;
-import org.mxchange.jshopcore.model.product.Product;
-
-/**
- * An interface for receipt entries
- * <p>
- * @author Roland Haeder<roland@mxchange.org>
- */
-public interface BillableReceiptEntry extends Serializable {
-
-       /**
-        * Getter when this receipt entry has been created in database
-        * <p>
-        * @return When this entry has been created
-        */
-       Calendar getEntryCreated ();
-
-       /**
-        * Setter when this receipt entry has been created in database
-        * <p>
-        * @param entryCreated When this entry has been created
-        */
-       void setEntryCreated (final Calendar entryCreated);
-
-       /**
-        * Getter for primary key
-        * <p>
-        * @return Primary key
-        */
-       Long getEntryId ();
-
-       /**
-        * Setter for primary key
-        * <p>
-        * @param entryId Primary key
-        */
-       void setEntryId (final Long entryId);
-
-       /**
-        * Getter for receipt instance
-        * <p>
-        * @return Receipt instance
-        */
-       Billable getEntryReceipt ();
-
-       /**
-        * Setter for receipt instance
-        * <p>
-        * @param entryReceipt Receipt instance
-        */
-       void setEntryReceipt (final Billable entryReceipt);
-
-       /**
-        * Getter for linked product
-        * <p>
-        * @return Product
-        */
-       Product getEntryProduct ();
-
-       /**
-        * Setter for linked product
-        * <p>
-        * @param entryProduct Product
-        */
-       void setEntryProduct (final Product entryProduct);
-
-       /**
-        * Getter for product quantity
-        * <p>
-        * @return Product quantity
-        */
-       Long getEntryProductQuantity ();
-
-       /**
-        * Setter for product quantity
-        * <p>
-        * @param entryProductQuantity Product quantity
-        */
-       void setEntryProductQuantity (final Long entryProductQuantity);
-
-       /**
-        * Getter for product single price (copied from GenericProduct)
-        * <p>
-        * @return Product single price
-        */
-       Float getEntryProductPrice ();
-
-       /**
-        * Setter for product single price (copied from GenericProduct)
-        * <p>
-        * @param entryProductPrice Product single price
-        */
-       void setEntryProductPrice (final Float entryProductPrice);
-
-       @Override
-       boolean equals (final Object object);
-
-       @Override
-       int hashCode ();
-
-}
diff --git a/src/org/mxchange/jfinancials/receipt/entry/ReceiptEntry.java b/src/org/mxchange/jfinancials/receipt/entry/ReceiptEntry.java
deleted file mode 100644 (file)
index 233099a..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.jfinancials.receipt.entry;
-
-import java.util.Calendar;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Index;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-import javax.persistence.Transient;
-import org.mxchange.jfinancials.receipt.Billable;
-import org.mxchange.jfinancials.receipt.Receipt;
-import org.mxchange.jshopcore.model.product.GenericProduct;
-import org.mxchange.jshopcore.model.product.Product;
-
-/**
- * A class for entryReceipt entries
- * <p>
- * @author Roland Haeder<roland@mxchange.org>
- */
-@Entity (name = "receipt_entries")
-@Table (
-               name = "receipt_entries",
-               indexes = {
-                       @Index (name = "entry_receipt_product", columnList = "entry_receipt_id,entry_product_id", unique = true)
-               }
-)
-@SuppressWarnings ("PersistenceUnitPresent")
-public class ReceiptEntry implements BillableReceiptEntry {
-
-       /**
-        * Serial number
-        */
-       @Transient
-       private static final long serialVersionUID = 126_498_698_378_571L;
-
-       /**
-        * When this entry has been created in database
-        */
-       @Basic (optional = false)
-       @Temporal (TemporalType.TIMESTAMP)
-       @Column (name = "entry_created", nullable = false)
-       private Calendar entryCreated;
-
-       /**
-        * Primary key
-        */
-       @Id
-       @GeneratedValue (strategy = GenerationType.IDENTITY)
-       @Column (name = "entry_id", nullable = false, updatable = false)
-       private Long entryId;
-
-       /**
-        * Product being linked in this entryReceipt item
-        */
-       @JoinColumn (name = "entry_product_id", referencedColumnName = "product_id", nullable = false, updatable = false, unique = true)
-       @OneToOne (targetEntity = GenericProduct.class, cascade = CascadeType.ALL, optional = false)
-       private Product entryProduct;
-
-       /**
-        * Single product price (being copied here from GenericProduct)
-        */
-       @Basic (optional = false)
-       @Column (name = "entry_product_price", nullable = false)
-       private Float entryProductPrice;
-
-       /**
-        * Product quantity
-        */
-       @Basic (optional = false)
-       @Column (name = "entry_product_quantity", nullable = false)
-       private Long entryProductQuantity;
-
-       /**
-        * Connected entryReceipt entry
-        */
-       @JoinColumn (name = "entry_receipt_id", referencedColumnName = "receipt_id", nullable = false, updatable = false, unique = true)
-       @OneToOne (targetEntity = Receipt.class, cascade = CascadeType.REFRESH, optional = false)
-       private Billable entryReceipt;
-
-       @Override
-       @SuppressWarnings ("ReturnOfDateField")
-       public Calendar getEntryCreated () {
-               return this.entryCreated;
-       }
-
-       @Override
-       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
-       public void setEntryCreated (final Calendar entryCreated) {
-               this.entryCreated = entryCreated;
-       }
-
-       @Override
-       public Long getEntryId () {
-               return this.entryId;
-       }
-
-       @Override
-       public void setEntryId (final Long entryId) {
-               this.entryId = entryId;
-       }
-
-       @Override
-       public Product getEntryProduct () {
-               return this.entryProduct;
-       }
-
-       @Override
-       public void setEntryProduct (final Product entryProduct) {
-               this.entryProduct = entryProduct;
-       }
-
-       @Override
-       public Float getEntryProductPrice () {
-               return this.entryProductPrice;
-       }
-
-       @Override
-       public void setEntryProductPrice (final Float entryProductPrice) {
-               this.entryProductPrice = entryProductPrice;
-       }
-
-       @Override
-       public Long getEntryProductQuantity () {
-               return this.entryProductQuantity;
-       }
-
-       @Override
-       public void setEntryProductQuantity (final Long entryProductQuantity) {
-               this.entryProductQuantity = entryProductQuantity;
-       }
-
-       @Override
-       public Billable getEntryReceipt () {
-               return this.entryReceipt;
-       }
-
-       @Override
-       public void setEntryReceipt (final Billable entryReceipt) {
-               this.entryReceipt = entryReceipt;
-       }
-
-}