]> git.mxchange.org Git - jproduct-core.git/blob - src/org/mxchange/jshopcore/model/customer/Customer.java
d2b4f7662d74490f2765f2bcf2fcc60fffb415d4
[jproduct-core.git] / src / org / mxchange / jshopcore / model / customer / Customer.java
1 /*
2  * Copyright (C) 2015 Roland Haeder
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.jshopcore.model.customer;
18
19 import java.io.Serializable;
20 import org.mxchange.jcore.model.contact.Contact;
21
22 /**
23  * A customer interface
24  *
25  * @author Roland Haeder<roland@mxchange.org>
26  */
27 public interface Customer extends Serializable {
28
29         /**
30          * Copies all attributes from other customer object to this
31          *
32          * @param customer Source instance
33          */
34         public void copyAll (final Customer customer);
35
36         /**
37          * Setter for contact instance
38          *
39          * @param contact Contact instance
40          */
41         public void setContact (final Contact contact);
42
43         /**
44          * Getter for contact instance
45          *
46          * @return Contact id number
47          */
48         public Contact getContact();
49
50         /**
51          * Getter for confirmation key
52          *
53          * @return Confirmation key
54          */
55         public String getCustomerConfirmKey ();
56
57         /**
58          * Setter for confirmation key
59          *
60          * @param customerConfirmKey Confirmation key
61          */
62         public void setCustomerConfirmKey (final String customerConfirmKey);
63
64         /**
65          * Getter for "created" timestamp
66          *
67          * @return "created" timestamp
68          */
69         public String getCustomerCreated ();
70
71         /**
72          * Setter for "created" timestamp
73          *
74          * @param customerCreated "created" timestamp
75          */
76         public void setCustomerCreated (final String customerCreated);
77
78         /**
79          * Getter for "locked" timestamp
80          *
81          * @return "locked" timestamp
82          */
83         public String getCustomerLocked ();
84
85         /**
86          * Getter for "locked" timestamp
87          *
88          * @param customerLocked "locked" timestamp
89          */
90         public void setCustomerLocked (final String customerLocked);
91
92         /**
93          * Setter for customer number
94          *
95          * @param customerNumber Customer number
96          */
97         public void setCustomerNumber (final String customerNumber);
98
99         /**
100          * Getter for customer number
101          *
102          * @return Customer number
103          */
104         public String getCustomerNumber ();
105
106         /**
107          * Getter for password hash
108          *
109          * @return Password hash
110          */
111         public String getCustomerPasswordHash ();
112
113         /**
114          * Setter for password hash
115          *
116          * @param customerPasswordHash Password hash
117          */
118         public void setCustomerPasswordHash (final String customerPasswordHash);
119
120         /**
121          * Getter for account status
122          *
123          * @return Account status
124          */
125         public String getCustomerStatus ();
126
127         /**
128          * Setter for account status
129          *
130          * @param customerStatus Account status
131          */
132         public void setCustomerStatus (final String customerStatus);
133
134         /**
135          * Getter for customer id number
136          *
137          * @return Customer id number
138          */
139         public Long getCustomerId ();
140
141         /**
142          * Settte for customer id number
143          *
144          * @param customerId Customer id number
145          */
146         public void setCustomerId (final Long customerId);
147 }