
com.antwerkz.sofia.Sofia Maven / Gradle / Ivy
package com.antwerkz.sofia;
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import java.security.*;
import java.util.ResourceBundle.Control;
import org.slf4j.*;
public class Sofia {
private static Map messages = new HashMap<>();
private static final Logger logger = LoggerFactory.getLogger(Sofia.class);
private static ResourceBundle getBundle(Locale... localeList) {
Locale locale = localeList.length == 0 ? Locale.getDefault() : localeList[0];
ResourceBundle labels = loadBundle(locale);
if(labels == null) {
labels = loadBundle(Locale.ROOT);
}
return labels;
}
private static ResourceBundle loadBundle(Locale locale) {
ResourceBundle bundle = messages.get(locale);
if(bundle == null) {
bundle = ResourceBundle.getBundle("sofia", locale );
messages.put(locale, bundle);
}
return bundle;
}
private static String getMessageValue(String key, Locale... locale) {
return (String) getBundle(locale).getObject(key);
}
public static String another(Locale... locale) {
return getMessageValue("@error.another", locale);
}
public static void logAnother(Locale... locale) {
if(logger.isErrorEnabled()) {
logger.error(another());
}
}
public static String dateProperty(java.util.Date arg0, Number arg1, Locale... locale) {
return MessageFormat.format(getMessageValue("@error.date.property", locale), arg0, arg1);
}
public static void logDateProperty(java.util.Date arg0, Number arg1, Locale... locale) {
if(logger.isErrorEnabled()) {
logger.error(dateProperty(arg0, arg1));
}
}
public static String dateProperty2(Object arg0, Object arg1, Locale... locale) {
return MessageFormat.format(getMessageValue("@error.date.property2", locale), arg0, arg1);
}
public static void logDateProperty2(Object arg0, Object arg1, Locale... locale) {
if(logger.isErrorEnabled()) {
logger.error(dateProperty2(arg0, arg1));
}
}
public static String me(Locale... locale) {
return getMessageValue("@warn.me", locale);
}
public static void logMe(Locale... locale) {
if(logger.isWarnEnabled()) {
logger.warn(me());
}
}
public static String lonely(Locale... locale) {
return getMessageValue("lonely", locale);
}
public static String newProperty(Locale... locale) {
return getMessageValue("new.property", locale);
}
public static String parameterizedPropertyLongName(Object arg0, Object arg1, Locale... locale) {
return MessageFormat.format(getMessageValue("parameterized.property.long.name", locale), arg0, arg1);
}
public static String testProperty(Locale... locale) {
return getMessageValue("test.property", locale);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy