/* * */ package org.smartly.commons.i18n.impl; import org.smartly.commons.i18n.resourcebundle.AbstractI18nBundle; import org.smartly.commons.util.FormatUtils; import org.smartly.commons.util.LocaleUtils; import org.smartly.commons.util.StringUtils; import java.util.Locale; import java.util.Map; /** * This is a default Dictionary. All dictionaries inherited from BaseDictionary * contains also items of this dictionary.<br/> * Note: To create new dictionary extend BaseDictionary. * * @author angelo.geminiani */ public class BaseDictionary extends AbstractI18nBundle { private static final String NAME = "base"; // -------------------------------------------------------------------- // c o n s t r u c t o r // -------------------------------------------------------------------- public BaseDictionary() { super(); } public String getName() { return NAME; } // -------------------------------------------------------------------- // p u b l i c // -------------------------------------------------------------------- public String getMessage(final String key, final String slocale, final Object... args) { final Locale locale = LocaleUtils.getLocaleFromString(slocale); return this.getMessage(key, locale, args); } public String getMessage(final String key, final String slocale, final Map<String, ? extends Object> args) { final Locale locale = LocaleUtils.getLocaleFromString(slocale); return this.getMessage(key, locale, args); } public String getMessage(final String key, final Locale locale, final Object... args) { final String resource = super.getMessage(key, locale, getClassLoader()); return StringUtils.hasText(resource) ? FormatUtils.format(resource, args) : ""; } public String getMessage(final String key, final Locale locale, final Map<String, ? extends Object> args) { final String resource = super.getMessage(key, locale, getClassLoader()); return StringUtils.hasText(resource) ? FormatUtils.format(resource, args) : ""; } // -------------------------------------------------------------------- // p r i v a t e // -------------------------------------------------------------------- // ------------------------------------------------------------------------ // S T A T I C // ------------------------------------------------------------------------ private static ClassLoader __classLoader; private static BaseDictionary __instance; public static BaseDictionary getInstance() { if (null == __instance) { __instance = new BaseDictionary(); } return __instance; } public static ClassLoader getClassLoader() { if (null == __classLoader) { __classLoader = Thread.currentThread().getContextClassLoader(); } return __classLoader; } }