]> git.mxchange.org Git - addressbook-swing.git/blob - Addressbook/src/org/mxchange/addressbook/BaseFrameworkSystem.java
Initial commit
[addressbook-swing.git] / Addressbook / src / org / mxchange / addressbook / BaseFrameworkSystem.java
1 /*\r
2  * Copyright (C) 2015 Roland Haeder\r
3  *\r
4  * This program is free software: you can redistribute it and/or modify\r
5  * it under the terms of the GNU General Public License as published by\r
6  * the Free Software Foundation, either version 3 of the License, or\r
7  * (at your option) any later version.\r
8  *\r
9  * This program is distributed in the hope that it will be useful,\r
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
12  * GNU General Public License for more details.\r
13  *\r
14  * You should have received a copy of the GNU General Public License\r
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
16  */\r
17 package org.mxchange.addressbook;\r
18 \r
19 import org.apache.logging.log4j.LogManager;\r
20 import org.apache.logging.log4j.Logger;\r
21 import org.mxchange.addressbook.application.Application;\r
22 import org.mxchange.addressbook.client.Client;\r
23 import org.mxchange.addressbook.manager.contact.ContactManager;\r
24 import org.mxchange.addressbook.manager.contact.ManageableContact;\r
25 \r
26 /**\r
27  * General class\r
28  *\r
29  * @author Roland Haeder\r
30  */\r
31 public class BaseFrameworkSystem {\r
32     /**\r
33      * Class' logger\r
34      */\r
35     private final Logger LOG;\r
36 \r
37     /**\r
38      * Application instance\r
39      */\r
40     private Application application;\r
41 \r
42     /**\r
43      * Client instance\r
44      */\r
45     private Client client;\r
46 \r
47     /**\r
48      * Contact manager instance\r
49      */\r
50     private ManageableContact contactManager;\r
51 \r
52     /**\r
53      * Initialize object\r
54      */\r
55     {\r
56         LOG = LogManager.getLogger(this);\r
57     }\r
58 \r
59     /**\r
60      * No instances can be created of this class\r
61      */\r
62     protected BaseFrameworkSystem () {\r
63     }\r
64 \r
65     /**\r
66      * Application instance\r
67      * @return the application\r
68      */\r
69     public Application getApplication () {\r
70         return this.application;\r
71     }\r
72 \r
73     /**\r
74      * Application instance\r
75      * @param application the application to set\r
76      */\r
77     protected void setApplication (final Application application) {\r
78         this.application = application;\r
79     }\r
80 \r
81     /**\r
82      * Client instance\r
83      * @return the client\r
84      */\r
85     public Client getClient () {\r
86         return this.client;\r
87     }\r
88 \r
89     /**\r
90      * Client instance\r
91      * @param client the client to set\r
92      */\r
93     protected void setClient (final Client client) {\r
94         this.client = client;\r
95     }\r
96 \r
97     /**\r
98      * Contact manager instance\r
99      * @return the contactManager\r
100      */\r
101     public ManageableContact getContactManager () {\r
102         return this.contactManager;\r
103     }\r
104 \r
105     /**\r
106      * Contact manager instance\r
107      * @param contactManager the contactManager to set\r
108      */\r
109     protected void setContactManager(final ManageableContact contactManager) {\r
110         this.contactManager = contactManager;\r
111     }\r
112 \r
113     /**\r
114      * Getter for logger\r
115      *\r
116      * @return Logger\r
117      */\r
118     protected Logger getLogger () {\r
119         return this.LOG;\r
120     }\r
121 \r
122     /**\r
123      * Initializes contact manager\r
124      * @param client Client instance\r
125      */\r
126     protected void initContactManager (final Client client) {\r
127         // Debug message\r
128         this.getLogger().debug("Initializing contact manager ...");\r
129 \r
130         // Init contact manager with console client\r
131         // @TODO Static initial amount of contacts\r
132         ManageableContact manager = new ContactManager (100, client);\r
133 \r
134         // Set it here\r
135         this.setContactManager(manager);\r
136 \r
137         // Debug message\r
138         this.getLogger().debug("Contact manager has been initialized.");\r
139     }\r
140 }\r