*/
package org.mxchange.jcoreee;
+import java.io.Serializable;
import java.util.ResourceBundle;
/**
- *
+ * A general class for Java EE applications. You should not include this in your
+ * web applications as this requires that the bundle has to be placed here.
+ * <p>
* @author Roland Haeder<roland@mxchange.org>
*/
-public class BaseEeSystem {
+public abstract class BaseEeSystem implements Serializable {
+
+ /**
+ * Serial number
+ */
+ private static final long serialVersionUID = 48_475_834_783_473_187L;
+
/**
* Bundle instance
*/
- private ResourceBundle bundle;
+ private final ResourceBundle bundle;
/**
- * Getter for message from given key
- *
- * @param key Key to get message from
- * @return Message
+ * Protectd constructor
*/
- protected String getMessageStringFromKey (final String key) {
- // Return message
- return this.getBundle().getString(key);
+ protected BaseEeSystem () {
+ // Load resource bundle
+ this.bundle = ResourceBundle.getBundle("org/mxchange/localization/bundle");
}
/**
* Getter for bundle instance
- *
+ * <p>
* @return Bundle instance
*/
private ResourceBundle getBundle () {
return this.bundle;
}
+
+ /**
+ * Getter for message from given key
+ * <p>
+ * @param key Key to get message from
+ * @return Message
+ */
+ protected String getMessageFromKey (final String key) {
+ // Is the bundle loaded?
+ if (this.getBundle() == null) {
+ // Abort here
+ throw new NullPointerException("bundle is null"); //NOI18N
+ }
+
+ // Return message
+ return this.getBundle().getString(key);
+ }
}