/******************************************************************************* * Copyright (c) 2007 Oracle Corporation., and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Oracle - initial API and implementation * ********************************************************************************/ package org.eclipse.jst.jsf.taglibprocessing.attributevalues; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues; import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue; /** * ISO-4217 Currency codes */ public class CurrencyCodeType extends EnumerationType implements IPossibleValues { private static final CurrencyCodeMap _map = new CurrencyCodeMap(); @Override protected String getReturnType() { return "java.lang.String"; //$NON-NLS-1$ } public List getPossibleValues() { List ret = new ArrayList(); for(Iterator it = _map.keySet().iterator();it.hasNext();){ String key = (String)it.next(); String value = _map.get(key); PossibleValue pv = new PossibleValue(key, value); ret.add(pv); } return ret; } public boolean isValidValue(String value) { if(!_map.containsKey(value.toUpperCase())) { addNewValidationMessage(Messages.CurrencyCodeType_invalid); } return getValidationMessages().isEmpty(); } private static class CurrencyCodeMap extends HashMap<String, String> { private static final long serialVersionUID = 1L; CurrencyCodeMap(){ put("AED",Messages.CurrencyCodeType_2); //$NON-NLS-1$ put("AFA",Messages.CurrencyCodeType_3); //$NON-NLS-1$ put("ALL",Messages.CurrencyCodeType_4); //$NON-NLS-1$ put("AMD",Messages.CurrencyCodeType_5); //$NON-NLS-1$ put("ANG",Messages.CurrencyCodeType_6); //$NON-NLS-1$ put("AOA",Messages.CurrencyCodeType_7); //$NON-NLS-1$ put("ARS",Messages.CurrencyCodeType_8); //$NON-NLS-1$ put("AUD",Messages.CurrencyCodeType_9); //$NON-NLS-1$ put("AWG",Messages.CurrencyCodeType_10); //$NON-NLS-1$ put("AZM",Messages.CurrencyCodeType_11); //$NON-NLS-1$ put("BAM",Messages.CurrencyCodeType_12); //$NON-NLS-1$ put("BBD",Messages.CurrencyCodeType_13); //$NON-NLS-1$ put("BDT",Messages.CurrencyCodeType_14); //$NON-NLS-1$ put("BGN",Messages.CurrencyCodeType_15); //$NON-NLS-1$ put("BHD",Messages.CurrencyCodeType_16); //$NON-NLS-1$ put("BIF",Messages.CurrencyCodeType_17); //$NON-NLS-1$ put("BMD",Messages.CurrencyCodeType_18); //$NON-NLS-1$ put("BND",Messages.CurrencyCodeType_19); //$NON-NLS-1$ put("BOB",Messages.CurrencyCodeType_20); //$NON-NLS-1$ put("BRL",Messages.CurrencyCodeType_21); //$NON-NLS-1$ put("BSD",Messages.CurrencyCodeType_22); //$NON-NLS-1$ put("BTN",Messages.CurrencyCodeType_23); //$NON-NLS-1$ put("BWP",Messages.CurrencyCodeType_24); //$NON-NLS-1$ put("BYR",Messages.CurrencyCodeType_25); //$NON-NLS-1$ put("BZD",Messages.CurrencyCodeType_26); //$NON-NLS-1$ put("CAD",Messages.CurrencyCodeType_27); //$NON-NLS-1$ put("CDF",Messages.CurrencyCodeType_28); //$NON-NLS-1$ put("CHF",Messages.CurrencyCodeType_29); //$NON-NLS-1$ put("CLP",Messages.CurrencyCodeType_30); //$NON-NLS-1$ put("CNY",Messages.CurrencyCodeType_31); //$NON-NLS-1$ put("COP",Messages.CurrencyCodeType_32); //$NON-NLS-1$ put("CRC",Messages.CurrencyCodeType_33); //$NON-NLS-1$ put("CSD",Messages.CurrencyCodeType_34); //$NON-NLS-1$ put("CUP",Messages.CurrencyCodeType_35); //$NON-NLS-1$ put("CVE",Messages.CurrencyCodeType_36); //$NON-NLS-1$ put("CYP",Messages.CurrencyCodeType_37); //$NON-NLS-1$ put("CZK",Messages.CurrencyCodeType_38); //$NON-NLS-1$ put("DJF",Messages.CurrencyCodeType_39); //$NON-NLS-1$ put("DKK",Messages.CurrencyCodeType_40); //$NON-NLS-1$ put("DOP",Messages.CurrencyCodeType_41); //$NON-NLS-1$ put("DZD",Messages.CurrencyCodeType_42); //$NON-NLS-1$ put("EEK",Messages.CurrencyCodeType_43); //$NON-NLS-1$ put("EGP",Messages.CurrencyCodeType_44); //$NON-NLS-1$ put("ERN",Messages.CurrencyCodeType_45); //$NON-NLS-1$ put("ETB",Messages.CurrencyCodeType_46); //$NON-NLS-1$ put("EUR",Messages.CurrencyCodeType_47); //$NON-NLS-1$ put("FJD",Messages.CurrencyCodeType_48); //$NON-NLS-1$ put("FKP",Messages.CurrencyCodeType_49); //$NON-NLS-1$ put("GBP",Messages.CurrencyCodeType_50); //$NON-NLS-1$ put("GEL",Messages.CurrencyCodeType_51); //$NON-NLS-1$ put("GGP",Messages.CurrencyCodeType_52); //$NON-NLS-1$ put("GHC",Messages.CurrencyCodeType_53); //$NON-NLS-1$ put("GIP",Messages.CurrencyCodeType_54); //$NON-NLS-1$ put("GMD",Messages.CurrencyCodeType_55); //$NON-NLS-1$ put("GNF",Messages.CurrencyCodeType_56); //$NON-NLS-1$ put("GTQ",Messages.CurrencyCodeType_57); //$NON-NLS-1$ put("GYD",Messages.CurrencyCodeType_58); //$NON-NLS-1$ put("HKD",Messages.CurrencyCodeType_59); //$NON-NLS-1$ put("HNL",Messages.CurrencyCodeType_60); //$NON-NLS-1$ put("HRK",Messages.CurrencyCodeType_61); //$NON-NLS-1$ put("HTG",Messages.CurrencyCodeType_62); //$NON-NLS-1$ put("HUF",Messages.CurrencyCodeType_63); //$NON-NLS-1$ put("IDR",Messages.CurrencyCodeType_64); //$NON-NLS-1$ put("ILS",Messages.CurrencyCodeType_65); //$NON-NLS-1$ put("IMP",Messages.CurrencyCodeType_66); //$NON-NLS-1$ put("INR",Messages.CurrencyCodeType_67); //$NON-NLS-1$ put("IQD",Messages.CurrencyCodeType_68); //$NON-NLS-1$ put("IRR",Messages.CurrencyCodeType_69); //$NON-NLS-1$ put("ISK",Messages.CurrencyCodeType_70); //$NON-NLS-1$ put("JEP",Messages.CurrencyCodeType_71); //$NON-NLS-1$ put("JMD",Messages.CurrencyCodeType_72); //$NON-NLS-1$ put("JOD",Messages.CurrencyCodeType_73); //$NON-NLS-1$ put("JPY",Messages.CurrencyCodeType_74); //$NON-NLS-1$ put("KES",Messages.CurrencyCodeType_75); //$NON-NLS-1$ put("KGS",Messages.CurrencyCodeType_76); //$NON-NLS-1$ put("KHR",Messages.CurrencyCodeType_77); //$NON-NLS-1$ put("KMF",Messages.CurrencyCodeType_78); //$NON-NLS-1$ put("KPW",Messages.CurrencyCodeType_79); //$NON-NLS-1$ put("KRW",Messages.CurrencyCodeType_80); //$NON-NLS-1$ put("KWD",Messages.CurrencyCodeType_81); //$NON-NLS-1$ put("KYD",Messages.CurrencyCodeType_82); //$NON-NLS-1$ put("KZT",Messages.CurrencyCodeType_83); //$NON-NLS-1$ put("LAK",Messages.CurrencyCodeType_84); //$NON-NLS-1$ put("LBP",Messages.CurrencyCodeType_85); //$NON-NLS-1$ put("LKR",Messages.CurrencyCodeType_86); //$NON-NLS-1$ put("LRD",Messages.CurrencyCodeType_87); //$NON-NLS-1$ put("LSL",Messages.CurrencyCodeType_88); //$NON-NLS-1$ put("LTL",Messages.CurrencyCodeType_89); //$NON-NLS-1$ put("LVL",Messages.CurrencyCodeType_90); //$NON-NLS-1$ put("LYD",Messages.CurrencyCodeType_91); //$NON-NLS-1$ put("MAD",Messages.CurrencyCodeType_92); //$NON-NLS-1$ put("MDL",Messages.CurrencyCodeType_93); //$NON-NLS-1$ put("MGA",Messages.CurrencyCodeType_94); //$NON-NLS-1$ put("MKD",Messages.CurrencyCodeType_95); //$NON-NLS-1$ put("MMK",Messages.CurrencyCodeType_96); //$NON-NLS-1$ put("MNT",Messages.CurrencyCodeType_97); //$NON-NLS-1$ put("MOP",Messages.CurrencyCodeType_98); //$NON-NLS-1$ put("MRO",Messages.CurrencyCodeType_99); //$NON-NLS-1$ put("MTL",Messages.CurrencyCodeType_100); //$NON-NLS-1$ put("MUR",Messages.CurrencyCodeType_101); //$NON-NLS-1$ put("MVR",Messages.CurrencyCodeType_102); //$NON-NLS-1$ put("MWK",Messages.CurrencyCodeType_103); //$NON-NLS-1$ put("MXN",Messages.CurrencyCodeType_104); //$NON-NLS-1$ put("MYR",Messages.CurrencyCodeType_105); //$NON-NLS-1$ put("MZM",Messages.CurrencyCodeType_106); //$NON-NLS-1$ put("NAD",Messages.CurrencyCodeType_107); //$NON-NLS-1$ put("NGN",Messages.CurrencyCodeType_108); //$NON-NLS-1$ put("NIO",Messages.CurrencyCodeType_109); //$NON-NLS-1$ put("NOK",Messages.CurrencyCodeType_110); //$NON-NLS-1$ put("NPR",Messages.CurrencyCodeType_111); //$NON-NLS-1$ put("NZD",Messages.CurrencyCodeType_112); //$NON-NLS-1$ put("OMR",Messages.CurrencyCodeType_113); //$NON-NLS-1$ put("PAB",Messages.CurrencyCodeType_114); //$NON-NLS-1$ put("PEN",Messages.CurrencyCodeType_115); //$NON-NLS-1$ put("PGK",Messages.CurrencyCodeType_116); //$NON-NLS-1$ put("PHP",Messages.CurrencyCodeType_117); //$NON-NLS-1$ put("PKR",Messages.CurrencyCodeType_118); //$NON-NLS-1$ put("PLN",Messages.CurrencyCodeType_119); //$NON-NLS-1$ put("PYG",Messages.CurrencyCodeType_120); //$NON-NLS-1$ put("QAR",Messages.CurrencyCodeType_121); //$NON-NLS-1$ put("ROL",Messages.CurrencyCodeType_122); //$NON-NLS-1$ put("RUB",Messages.CurrencyCodeType_123); //$NON-NLS-1$ put("RWF",Messages.CurrencyCodeType_124); //$NON-NLS-1$ put("SAR",Messages.CurrencyCodeType_125); //$NON-NLS-1$ put("SBD",Messages.CurrencyCodeType_126); //$NON-NLS-1$ put("SCR",Messages.CurrencyCodeType_127); //$NON-NLS-1$ put("SDD",Messages.CurrencyCodeType_128); //$NON-NLS-1$ put("SEK",Messages.CurrencyCodeType_129); //$NON-NLS-1$ put("SGD",Messages.CurrencyCodeType_130); //$NON-NLS-1$ put("SHP",Messages.CurrencyCodeType_131); //$NON-NLS-1$ put("SIT",Messages.CurrencyCodeType_132); //$NON-NLS-1$ put("SKK",Messages.CurrencyCodeType_133); //$NON-NLS-1$ put("SLL",Messages.CurrencyCodeType_134); //$NON-NLS-1$ put("SOS",Messages.CurrencyCodeType_135); //$NON-NLS-1$ put("SPL",Messages.CurrencyCodeType_136); //$NON-NLS-1$ put("SRD",Messages.CurrencyCodeType_137); //$NON-NLS-1$ put("STD",Messages.CurrencyCodeType_138); //$NON-NLS-1$ put("SVC",Messages.CurrencyCodeType_139); //$NON-NLS-1$ put("SYP",Messages.CurrencyCodeType_140); //$NON-NLS-1$ put("SZL",Messages.CurrencyCodeType_141); //$NON-NLS-1$ put("THB",Messages.CurrencyCodeType_142); //$NON-NLS-1$ put("TJS",Messages.CurrencyCodeType_143); //$NON-NLS-1$ put("TMM",Messages.CurrencyCodeType_144); //$NON-NLS-1$ put("TND",Messages.CurrencyCodeType_145); //$NON-NLS-1$ put("TOP",Messages.CurrencyCodeType_146); //$NON-NLS-1$ put("TRL",Messages.CurrencyCodeType_147); //$NON-NLS-1$ put("TRY",Messages.CurrencyCodeType_148); //$NON-NLS-1$ put("TTD",Messages.CurrencyCodeType_149); //$NON-NLS-1$ put("TVD",Messages.CurrencyCodeType_150); //$NON-NLS-1$ put("TWD",Messages.CurrencyCodeType_151); //$NON-NLS-1$ put("TZS",Messages.CurrencyCodeType_152); //$NON-NLS-1$ put("UAH",Messages.CurrencyCodeType_153); //$NON-NLS-1$ put("UGX",Messages.CurrencyCodeType_154); //$NON-NLS-1$ put("USD",Messages.CurrencyCodeType_155); //$NON-NLS-1$ put("UYU",Messages.CurrencyCodeType_156); //$NON-NLS-1$ put("UZS",Messages.CurrencyCodeType_157); //$NON-NLS-1$ put("VEB",Messages.CurrencyCodeType_158); //$NON-NLS-1$ put("VND",Messages.CurrencyCodeType_159); //$NON-NLS-1$ put("VUV",Messages.CurrencyCodeType_160); //$NON-NLS-1$ put("WST",Messages.CurrencyCodeType_161); //$NON-NLS-1$ put("XAF",Messages.CurrencyCodeType_162); //$NON-NLS-1$ put("XAG",Messages.CurrencyCodeType_163); //$NON-NLS-1$ put("XAU",Messages.CurrencyCodeType_164); //$NON-NLS-1$ put("XCD",Messages.CurrencyCodeType_165); //$NON-NLS-1$ put("XDR",Messages.CurrencyCodeType_166); //$NON-NLS-1$ put("XOF",Messages.CurrencyCodeType_167); //$NON-NLS-1$ put("XPD",Messages.CurrencyCodeType_168); //$NON-NLS-1$ put("XPF",Messages.CurrencyCodeType_169); //$NON-NLS-1$ put("XPT",Messages.CurrencyCodeType_170); //$NON-NLS-1$ put("YER",Messages.CurrencyCodeType_171); //$NON-NLS-1$ put("ZAR",Messages.CurrencyCodeType_172); //$NON-NLS-1$ put("ZMK",Messages.CurrencyCodeType_173); //$NON-NLS-1$ put("ZWD",Messages.CurrencyCodeType_174); //$NON-NLS-1$ } } }