]> git.mxchange.org Git - jbonuscard-core.git/blob - src/org/mxchange/jfinancials/model/receipt/BillableReceipt.java
Continued:
[jbonuscard-core.git] / src / org / mxchange / jfinancials / model / receipt / BillableReceipt.java
1 /*
2  * Copyright (C) 2016 - 2018 Free Software Foundation
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 package org.mxchange.jfinancials.model.receipt;
18
19 import java.io.Serializable;
20 import java.util.Date;
21 import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOffice;
22 import org.mxchange.jcontactsbusiness.model.employee.Employable;
23 import org.mxchange.jfinancials.model.bonus_card.BonusCard;
24 import org.mxchange.jproduct.model.payment.PaymentType;
25 import org.mxchange.jusercore.model.user.User;
26
27 /**
28  * An interface for receipts
29  * <p>
30  * @author Roland Häder<roland@mxchange.org>
31  */
32 public interface BillableReceipt extends Serializable {
33
34         /**
35          * Getter for receipt bar-code number
36          * <p>
37          * @return Receipt bar-code number
38          */
39         String getReceiptBarCodeNumber ();
40
41         /**
42          * Setter for receipt bar-code number
43          * <p>
44          * @param receiptBarCodeNumber Receipt bar-code number
45          */
46         void setReceiptBarCodeNumber (final String receiptBarCodeNumber);
47
48         /**
49          * Getter for receipt's assigned bonus card
50          * <p>
51          * @return Receipt's assigned bonus card
52          */
53         BonusCard getReceiptBonusCard ();
54
55         /**
56          * Setter for receipt's assigned bonus card
57          * <p>
58          * @param receiptBonusCard Receipt's assigned bonus card
59          */
60         void setReceiptBonusCard (final BonusCard receiptBonusCard);
61
62         /**
63          * Getter for when this receipt has been created in database
64          * <p>
65          * @return Receipt creation timestamp
66          */
67         Date getReceiptCreated ();
68
69         /**
70          * Setter for when this receipt has been created in database
71          * <p>
72          * @param receiptCreated Receipt creation timestamp
73          */
74         void setReceiptCreated (final Date receiptCreated);
75
76         /**
77          * Getter for when this receipt has been issued (as written on it)
78          * <p>
79          * @return Receipt issue timestamp
80          */
81         Date getReceiptIssued ();
82
83         /**
84          * Setter for when this receipt has been issued (as written on it)
85          * <p>
86          * @param receiptIssued Receipt issue timestamp
87          */
88         void setReceiptIssued (final Date receiptIssued);
89
90         /**
91          * Getter for primary key
92          * <p>
93          * @return Primary key
94          */
95         Long getReceiptId ();
96
97         /**
98          * Setter for primary key
99          * <p>
100          * @param receiptId Primary key
101          */
102         void setReceiptId (final Long receiptId);
103
104         /**
105          * Getter for seller (employee)
106          * <p>
107          * @return Seller (employee)
108          */
109         Employable getReceiptSellerEmployee ();
110
111         /**
112          * Setter for seller (employee)
113          * <p>
114          * @param receiptSellerEmployee Seller (employee)
115          */
116         void setReceiptSellerEmployee (final Employable receiptSellerEmployee);
117
118         /**
119          * Getter for receipt number
120          * <p>
121          * @return Receipt number
122          */
123         String getReceiptNumber ();
124
125         /**
126          * Setter for receipt number
127          * <p>
128          * @param receiptNumber Receipt number
129          */
130         void setReceiptNumber (final String receiptNumber);
131
132         /**
133          * Getter for receipt register's number (cash register's number)
134          * <p>
135          * @return Receipt register's number
136          */
137         Long getReceiptRegisterNumber ();
138
139         /**
140          * Setter for receipt register's number (cash register's number)
141          * <p>
142          * @param receiptRegisterNumber Receipt register's number
143          */
144         void setReceiptRegisterNumber (final Long receiptRegisterNumber);
145
146         /**
147          * Getter for receipt's user
148          * <p>
149          * @return Receipt's user
150          */
151         User getReceiptUser ();
152
153         /**
154          * Setter for receipt's user
155          * <p>
156          * @param receiptUser Receipt's user
157          */
158         void setReceiptUser (final User receiptUser);
159
160         /**
161          * Getter for branch office instance
162          * <p>
163          * @return Branch office instance
164          */
165         BranchOffice getReceiptBranchOffice ();
166
167         /**
168          * Setter for branch office instance
169          * <p>
170          * @param receiptBranch Branch office instance
171          */
172         void setReceiptBranchOffice (final BranchOffice receiptBranch);
173
174         /**
175          * Getter for payment type
176          * <p>
177          * @return Payment type
178          */
179         PaymentType getReceiptPaymentType ();
180
181         /**
182          * Setter for payment type
183          * <p>
184          * @param receiptPaymentType Payment type
185          */
186         void setReceiptPaymentType (final PaymentType receiptPaymentType);
187
188         /**
189          * Getter for receipt sequence number
190          * <p>
191          * @return Receipt sequence number
192          */
193         Long getReceiptSequenceNumber ();
194
195         /**
196          * Setter for receipt sequence number
197          * <p>
198          * @param receiptSequenceNumber Receipt sequence number
199          */
200         void setReceiptSequenceNumber (final Long receiptSequenceNumber);
201
202         @Override
203         boolean equals (final Object object);
204
205         @Override
206         int hashCode ();
207
208 }