package com.gmail.dpierron.tools.i18n; import com.gmail.dpierron.tools.Helper; import java.util.Locale; import java.util.Vector; public class LocalizationHelper {; private final static Object2StringConverter CONVERTER = new MethodCallerConverter("getHumanName"); /* public Vector<Locale> getAvailableLocalizations() { return Localization.Main.getAvailableLocalizations(); } */ public static String getEnumConstantHumanName(Enum enumConstant) { return getEnumConstantHumanName(enumConstant, false); } public static String getEnumConstantHumanName(Enum enumConstant, boolean secondary) { String label = uncheckedGetEnumConstantHumanName(enumConstant, secondary); // nothing worked, use the toString method if (label == null) label = enumConstant.toString(); return label; } public static String uncheckedGetEnumConstantHumanName(Enum enumConstant) { return uncheckedGetEnumConstantHumanName(enumConstant, false); } public static String uncheckedGetEnumConstantHumanName(Enum enumConstant, boolean secondary) { if (enumConstant == null) return null; String label = null; if (!secondary) { // try calling a getHumanName method on the enum label = CONVERTER.getStringValueOrNull(enumConstant); } if (Helper.isNullOrEmpty(label)) { // try looking for a corresponding key in the Localization.Enum map String name = "enum." + enumConstant.getDeclaringClass().getCanonicalName() + "." + (secondary ? "secondary." : "") + enumConstant.name(); label = Localization.Enum.getText(name); if (label.equals(name)) label = null; } return label; } public static String getYesOrNo(Boolean b) { if (b == null) return ""; if (b.booleanValue()) return Localization.Main.getText("boolean.yes"); else return Localization.Main.getText("boolean.no"); } }