package org.ovirt.engine.core.utils; import java.util.Locale; import org.ovirt.engine.core.utils.servlet.LocaleFilter; public class LocaleUtils { //Do not allow instantiation of this class. private LocaleUtils() {} /** * Returns the {@code Locale} based on the passed in string. * @param localeString The string to find the {@code Locale} in. * @return The {@code Locale} or null if the string doesn't represent * a proper {@code Locale} */ public static Locale getLocaleFromString(String localeString) { return getLocaleFromString(localeString, false); } /** * Returns the {@code Locale} based on the passed in string. Returns the * default {@code Locale} if a locale cannot be found and the passed in * flag is set to true. * @param localeString The string to find the {@code Locale} in. * @param returnNull If {@code true} return Locale.US if a locale cannot be * determined from the localeString. if false return null if the locale * cannot be determined. * @return The {@code Locale} determined in the method. */ public static Locale getLocaleFromString(String localeString, boolean returnDefaultLocale) { Locale result = returnDefaultLocale ? null : LocaleFilter.DEFAULT_LOCALE; try { if (localeString != null) { result = org.apache.commons.lang.LocaleUtils.toLocale(localeString.replaceAll("\\-", "_")); } else { result = null; } if(result == null && returnDefaultLocale) { result = LocaleFilter.DEFAULT_LOCALE; } } catch(IllegalArgumentException e) { result = returnDefaultLocale ? LocaleFilter.DEFAULT_LOCALE : null; } return result; } }