2 * Copyright (C) 2015 Roland Haeder
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.
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.
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/>.
17 package org.mxchange.jcore.manager.application;
19 import org.mxchange.jcore.application.Application;
20 import org.mxchange.jcore.manager.BaseManager;
25 * @author Roland Haeder
27 public class ApplicationManager extends BaseManager implements ManageableApplication {
30 * Getter for application manager
32 * @param application An instance of a Application class
35 public static final ManageableApplication getManager (final Application application) {
36 // Application instance must be set
37 if (application == null) {
39 throw new NullPointerException("application is null"); //NOI18N
43 ManageableApplication manager = new ApplicationManager(application);
50 * Constructor for this manager
52 * @param application An instance of an Application class
54 private ApplicationManager (final Application application) {
55 // Application instance must be set
56 if (application == null) {
58 throw new NullPointerException("application is null"); //NOI18N
62 this.getLogger().trace("CALLED!"); //NOI18N
64 // Set application instance
65 this.setApplication(application);
69 public void doShutdown () {
70 // Shutdown this manager, for now nothing
71 // @TODO Maybe add something here?
75 public void start () {
77 this.getLogger().trace("CALLED!"); //NOI18N
79 // Bootstrap application
80 this.getApplication().doBootstrap();
83 this.getApplication().doMainLoop();
86 this.getLogger().trace("EXIT!"); //NOI18N