* 2.2 (social):
* + 3 days
* + Additional tables: ???
- *
+*
* @author Roland Haeder
* @version 0.0
- * @since 0.0
*/
public class AddressbookApplication extends BaseFrameworkSystem implements Application {
/**
* Application title
*/
- public static final String APP_TITLE = "Adressbuch";
+ public static final String APP_TITLE = "Adressbuch"; //NOI18N
/**
* Application version
*/
- public static final String APP_VERSION = "0.0";
+ public static final String APP_VERSION = "0.0"; //NOI18N
+
+ /**
+ * Self instance
+ */
+ private static Application selfInstance;
/**
* Console client is enabled by default
*/
private boolean guiClient = false;
+ /**
+ * Protected constructor
+ */
+ protected AddressbookApplication () {
+ // Set own instance
+ selfInstance = this;
+ }
+
/**
* Getter for printable application name
*
* @return A printable name
*/
public static String printableTitle () {
- return MessageFormat.format("{0} v{1}", APP_TITLE, APP_VERSION);
+ return MessageFormat.format("{0} v{1}", APP_TITLE, APP_VERSION); //NOI18N
}
/**
*/
@Override
public void doBootstrap () {
- this.getLogger().debug("Initializing application ...");
+ this.getLogger().debug("Initializing application ..."); //NOI18N
// Init client variable
Client client = null;
// Is console or Swing choosen?
if (this.isConsole()) {
// Debug message
- this.getLogger().debug("Initializing console client ...");
+ this.getLogger().debug("Initializing console client ..."); //NOI18N
// Init console client instance
client = new ConsoleClient(this);
} else if (this.isGui()) {
// Debug message
- this.getLogger().debug("Initializing GUI (Swing) client ...");
+ this.getLogger().debug("Initializing GUI (Swing) client ..."); //NOI18N
// Init console instance
client = new SwingClient(this);
} else {
// Not client choosen
- this.getLogger().error("No client choosen. Cannot launch.");
+ this.getLogger().error("No client choosen. Cannot launch."); //NOI18N
System.exit(1);
}
// The application is running at this point
this.getClient().enableIsRunning();
+
+ // Trace message
+ this.getLogger().trace("EXIT!"); //NOI18N
}
/**
@Override
public void doMainLoop () {
// Debug message
- this.getLogger().trace("CALLED!");
+ this.getLogger().trace("CALLED!"); //NOI18N
- // @TODO The application should be running now
+ // @TODO The application should be running now
// Output introduction
this.showIntro();
// Set current menu to main
- this.getClient().setCurrentMenu("main");
+ this.getClient().setCurrentMenu("main"); //NOI18N
// --- Main loop starts here ---
while (this.getClient().isRunning()) {
// Ignore it
}
}
- // --- Main loop ends here ---
+ // --- Main loop ends here ---
// Debug message
- this.getLogger().debug("Main loop exit - shutting down ...");
+ this.getLogger().debug("Main loop exit - shutting down ..."); //NOI18N
}
/**
* Enables console client by setting propper flag
*/
private void enableConsoleClient () {
- this.getLogger().debug("Enabling console client (may become optional client) ...");
+ this.getLogger().debug("Enabling console client (may become optional client) ..."); //NOI18N
this.consoleClient = true;
this.guiClient = false;
}
* Enables GUI client by setting propper flag
*/
private void enableGuiClient () {
- this.getLogger().debug("Enabling GUI client (may become new default client) ...");
+ this.getLogger().debug("Enabling GUI client (may become new default client) ..."); //NOI18N
this.consoleClient = false;
this.guiClient = true;
}
* @param args Arguments from program launch
*/
private void parseArguments (final String[] args) {
+ // Trace message
+ this.getLogger().trace(MessageFormat.format("args()={0} - CALLED!", args.length)); //NOI18N
+
// Debug message
- this.getLogger().debug(MessageFormat.format("Parsing {0} arguments ...", args.length));
+ this.getLogger().debug(MessageFormat.format("Parsing {0} arguments ...", args.length)); //NOI18N
for (final String arg : args) {
// Switch on it
switch (arg) {
- case "-console":
+ case "-console": //NOI18N
enableConsoleClient();
break;
- case "-gui":
+ case "-gui": //NOI18N
enableGuiClient();
break;
}
* Show introduction which depends on client
*/
private void showIntro () {
+ // Trace message
+ this.getLogger().trace("CALLED!"); //NOI18N
+
// Let the client show it
this.getClient().showWelcome();
+
+ // Trace message
+ this.getLogger().trace("EXIT!"); //NOI18N
}
/**
* @param args Arguments handled to program
*/
private void start (final String args[]) {
- this.getLogger().info("Program is started.");
+ this.getLogger().info("Program is started."); //NOI18N
// Parse arguments
this.parseArguments(args);
ApplicationManager.getManager(this).start();
// Good bye, but this should not be reached ...
- this.getLogger().warn("Unusual exit reached.");
+ this.getLogger().warn("Unusual exit reached."); //NOI18N
this.doShutdown();
}
*/
@Override
public void doShutdown () {
+ // Trace message
+ this.getLogger().trace("CALLED!"); //NOI18N
+
// Shutdown client
this.getClient().doShutdown();
- this.getLogger().info("End of program (last line)");
+ this.getLogger().info("End of program (last line)"); //NOI18N
System.exit(0);
}
+
+ /**
+ * Getter for this application
+ *
+ * @return Instance from this application
+ */
+ public static final Application getInstance () {
+ // Return it
+ return selfInstance;
+ }
}