Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.obietel.manual.util;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * map comes from com.google.i18n.phonenumbers.CountryCodeToRegionCodeMap.java
- */
- public class RegionCodeToIsoCountryNameMap {
- private static final Map<String, String> usRegionCodeToIsoCountryMap;
- private static final Map<String, String> canadaRegionCodeToIsoCountryMap;
- private static final Map<String, String> otherNorthAMRegionCodeToIsoCountryMap;
- private static final Map<String, String> othersRegionCodeToIsoCountryMap;
- static{
- // TODO - US not finished yet -- Don't use it now -- assume all "1xxxxxx" that (not Canada and not North AM Islands) are US
- usRegionCodeToIsoCountryMap = new HashMap<String, String>(384) {{
- put("1", "US"); put("1201", "US"); put("1202", "US"); put("1203", "US"); put("1205", "US"); put("1206", "US");
- put("1207", "US"); put("1208", "US"); put("1209", "US"); put("1210", "US"); put("1212", "US"); put("1213", "US");
- put("1214", "US"); put("1215", "US"); put("1216", "US"); put("1217", "US"); put("1218", "US"); put("1219", "US");
- put("1220", "US"); put("1224", "US"); put("1225", "US"); put("1228", "US"); put("1229", "US"); put("1231", "US");
- put("1234", "US"); put("1239", "US"); put("1240", "US"); put("1248", "US"); put("1251", "US"); put("1252", "US");
- put("1253", "US"); put("1254", "US"); put("1256", "US"); put("1260", "US"); put("1262", "US"); put("1267", "US");
- put("1269", "US"); put("1270", "US"); put("1272", "US"); put("1276", "US"); put("1281", "US"); put("1301", "US");
- put("1302", "US"); put("1303", "US"); put("1304", "US"); put("1305", "US"); put("1307", "US"); put("1308", "US");
- put("1309", "US"); put("1310", "US"); put("1312", "US"); put("1313", "US"); put("1314", "US"); put("1315", "US");
- put("1316", "US"); put("1317", "US"); put("1318", "US"); put("1319", "US"); put("1320", "US"); put("1321", "US");
- put("1323", "US"); put("1325", "US"); put("1330", "US"); put("1331", "US"); put("1334", "US"); put("1336", "US");
- put("1337", "US"); put("1339", "US"); put("1346", "US"); put("1347", "US"); put("1351", "US"); put("1352", "US");
- put("1360", "US"); put("1361", "US"); put("1364", "US"); put("1385", "US"); put("1386", "US"); put("1401", "US");
- put("1402", "US"); put("1404", "US"); put("1405", "US"); put("1406", "US"); put("1407", "US"); put("1408", "US");
- put("1409", "US"); put("1410", "US"); put("1412", "US"); put("1413", "US"); put("1414", "US"); put("1415", "US");
- put("1417", "US"); put("1419", "US"); put("1423", "US"); put("1424", "US"); put("1425", "US"); put("1432", "US");
- put("1434", "US"); put("1435", "US"); put("1440", "US"); put("1442", "US"); put("1443", "US"); put("1458", "US");
- put("1469", "US"); put("1478", "US"); put("1479", "US"); put("1480", "US"); put("1484", "US"); put("1501", "US");
- put("1502", "US"); put("1503", "US"); put("1504", "US"); put("1505", "US"); put("1507", "US"); put("1508", "US");
- put("1509", "US"); put("1510", "US"); put("1512", "US"); put("1513", "US"); put("1515", "US"); put("1516", "US");
- put("1517", "US"); put("1518", "US"); put("1520", "US"); put("1530", "US"); put("1531", "US"); put("1539", "US");
- put("1540", "US"); put("1541", "US"); put("1551", "US"); put("1559", "US"); put("1561", "US"); put("1562", "US");
- put("1563", "US"); put("1567", "US"); put("1570", "US"); put("1571", "US"); put("1573", "US"); put("1574", "US");
- put("1575", "US"); put("1580", "US"); put("1585", "US"); put("1586", "US"); put("1601", "US"); put("1602", "US");
- // TODO
- // ...
- }};
- canadaRegionCodeToIsoCountryMap = new HashMap<String, String>(39) {{
- put("1204", "CA"); put("1226", "CA"); put("1236", "CA"); put("1249", "CA"); put("1250", "CA"); put("1289", "CA");
- put("1306", "CA"); put("1343", "CA"); put("1365", "CA"); put("1403", "CA"); put("1416", "CA"); put("1418", "CA");
- put("1431", "CA"); put("1437", "CA"); put("1438", "CA"); put("1450", "CA"); put("1506", "CA"); put("1514", "CA");
- put("1519", "CA"); put("1548", "CA"); put("1579", "CA"); put("1581", "CA"); put("1587", "CA"); put("1600", "CA");
- put("1604", "CA"); put("1613", "CA"); put("1639", "CA"); put("1647", "CA"); put("1705", "CA"); put("1709", "CA");
- put("1778", "CA"); put("1780", "CA"); put("1782", "CA"); put("1807", "CA"); put("1819", "CA"); put("1825", "CA");
- put("1867", "CA"); put("1873", "CA"); put("1902", "CA"); put("1905", "CA");
- }};
- otherNorthAMRegionCodeToIsoCountryMap = new HashMap<String, String>(26) {{
- put("1242", "BS"); // Bahamas
- put("1246", "BB"); //
- put("1264", "AI"); // Anguilla
- put("1268", "AG"); //
- put("1284", "VG"); //
- put("1340", "VI"); // U.S. Virgin Islands
- put("1345", "KY"); //
- put("1441", "BM"); //
- put("1473", "GD"); //
- put("1649", "TC"); // Turks And Caicos Islands
- put("1664", "MS"); //
- put("1670", "MP"); //
- put("1671", "GU"); //
- put("1684", "AS"); // American Samoa
- put("1721", "SX"); //
- put("1758", "LC"); // Saint Lucia
- put("1767", "DM"); //
- put("1784", "VC"); // Saint Vincent And The Grenadines
- put("1787", "PR"); // Puerto Rico
- put("1809", "DO"); // Dominican Republic
- put("1829", "DO"); //
- put("1849", "DO"); //
- put("1868", "TT"); // Trinidad and Tobago
- put("1869", "KN"); //
- put("1876", "JM"); //
- put("1939", "PR"); // Puerto Rico
- }};
- othersRegionCodeToIsoCountryMap = new HashMap<String, String>(256) {{
- put("7", "RU"); // Russia
- // == 2 digits ==
- put("20", "EG"); // Egypt
- put("27", "ZA"); // South Africa
- put("30", "GR"); // Greece
- put("31", "NL"); //
- put("32", "BE"); //
- put("33", "FR"); //
- put("34", "ES"); //
- put("36", "HU"); //
- put("39", "IT"); // Italy
- // TODO - VA (Vatican) is also using "39"
- put("40", "RO"); // Romania
- put("41", "CH"); //
- put("43", "AT"); //
- put("44", "GB"); //
- put("45", "DK"); //
- put("46", "SE"); //
- put("47", "NO"); // Norway
- // TODO - SJ (Svalbard And Jan Mayen) is also using "47"
- put("48", "PL"); //
- put("49", "DE"); // Germany
- put("51", "PE"); // Peru
- put("52", "MX"); //
- put("53", "CU"); //
- put("54", "AR"); //
- put("55", "BR"); // Brazil
- put("56", "CL"); //
- put("57", "CO"); //
- put("58", "VE"); //
- put("60", "MY"); // Malaysia
- put("61", "AU"); // Australia
- // TODO - CC (Cocos Islands) AND CX (Christmas Island) are also using "61"
- put("62", "ID"); // Indonesia
- put("63", "PH"); //
- put("64", "NZ"); //
- put("65", "SG"); //
- put("66", "TH"); //
- put("81", "JP"); //
- put("82", "KR"); //
- put("84", "VN"); //
- put("86", "CN"); //
- put("90", "TR"); // Turkey
- put("91", "IN"); //
- put("92", "PK"); //
- put("93", "AF"); // Afghanistan
- put("94", "LK"); // Sri Lanka
- put("95", "MM"); // Myanmar
- put("98", "IR"); // Iran
- // === 3 digits ===
- put("211", "SS"); // South Sudan
- put("212", "MA"); // Morocco
- // TODO - EH (Western Sahara) is also using "212"
- put("213", "DZ"); // Algeria
- put("216", "TN"); // Tunisia
- put("218", "LY"); // Libya
- put("220", "GM"); // Gambia
- put("221", "SN"); // Senegal
- put("222", "MR"); // Mauritania
- put("223", "ML"); //
- put("224", "GN"); //
- put("225", "CI"); // Côte d'Ivoire
- put("226", "BF"); //
- put("227", "NE"); //
- put("228", "TG"); //
- put("229", "BJ"); // Benin
- put("230", "MU"); //
- put("231", "LR"); //
- put("232", "SL"); //
- put("233", "GH");
- put("234", "NG"); // Nigeria
- put("235", "TD");
- put("236", "CF");
- put("237", "CM");
- put("238", "CV"); // Cape Verde
- put("239", "ST");
- put("240", "GQ");
- put("241", "GA");
- put("242", "CG");
- put("243", "CD"); // The Democratic Republic Of Congo
- put("244", "AO"); // Angola
- put("245", "GW");
- put("246", "IO"); // British Indian Ocean Territory
- put("247", "AC");
- put("248", "SC");
- put("249", "SD");
- put("250", "RW");
- put("251", "ET"); //
- put("252", "SO"); // Somalia
- put("253", "DJ");
- put("254", "KE");
- put("255", "TZ");
- put("256", "UG");
- put("257", "BI");
- put("258", "MZ");
- put("260", "ZM");
- put("261", "MG"); //
- put("262", "RE"); // Reunion
- // TODO - YT (Mayotte) is also using "262"
- put("263", "ZW");
- put("264", "NA");
- put("265", "MW");
- put("266", "LS");
- put("267", "BW");
- put("268", "SZ");
- put("269", "KM");
- put("290", "SH"); // Saint Helena
- // TODO - TA (??) is also using "290"
- put("291", "ER"); // Eritrea
- put("297", "AW"); //
- put("298", "FO"); //
- put("299", "GL"); // Greenland
- put("350", "GI"); //
- put("351", "PT"); //
- put("352", "LU"); //
- put("353", "IE"); //
- put("354", "IS"); //
- put("355", "AL"); //
- put("356", "MT"); //
- put("357", "CY"); //
- put("358", "FI"); //
- // TODO - AX (Åland Islands) is also using "358"
- put("359", "BG"); //
- put("370", "LT"); // Lithuania
- put("371", "LV"); //
- put("372", "EE"); // Estonia
- put("373", "MD"); //
- put("374", "AM"); //
- put("375", "BY"); // Belarus
- put("376", "AD"); //
- put("377", "MC"); //
- put("378", "SM"); //
- put("379", "VA"); // Vatican
- put("380", "UA"); //
- put("381", "RS"); //
- put("382", "ME"); // Montenegro
- put("383", "XK"); // Kosovo
- put("385", "HR"); //
- put("386", "SI"); //
- put("387", "BA"); //
- put("388", "EU"); // Eurosat (added on 05/22/18)
- put("389", "MK"); //
- put("420", "CZ"); //
- put("421", "SK"); //
- put("423", "LI"); // Liechtenstein
- put("500", "FK"); // Falkland Islands
- put("501", "BZ"); //
- put("502", "GT"); //
- put("503", "SV"); //
- put("504", "HN"); //
- put("505", "NI"); //
- put("506", "CR"); //
- put("507", "PA"); //
- put("508", "PM"); //
- put("509", "HT"); //
- put("590", "GP"); // Guadeloupe
- // TODO - BL (Saint Barthélemy) AND MF (Saint Martin) are also using "590"
- put("591", "BO"); // Bolivia
- put("592", "GY"); //
- put("593", "EC"); //
- put("594", "GF"); //
- put("595", "PY"); //
- put("596", "MQ"); //
- put("597", "SR"); // Suriname
- put("598", "UY"); //
- put("599", "CW"); // Curaçao
- // TODO - BQ (Bonaire, Sint Eustatius and Saba) is also using "599"
- put("670", "TL"); //
- put("672", "NF"); //
- put("673", "BN"); //
- put("674", "NR"); //
- put("675", "PG"); //
- put("676", "TO"); //
- put("677", "SB"); //
- put("678", "VU"); //
- put("679", "FJ"); //
- put("680", "PW"); // Palau
- put("681", "WF"); //
- put("682", "CK"); // Cook Islands
- put("683", "NU"); //
- put("684", "AS"); // Samoa Eastern (added on 05/22/18)
- put("685", "WS"); //
- put("686", "KI"); //
- put("687", "NC"); //
- put("688", "TV"); // Tuvalu
- put("689", "PF"); //
- put("690", "TK"); //
- put("691", "FM"); //
- put("692", "MH"); //
- put("800", "001"); // ??
- put("808", "001"); // ??
- put("850", "KP"); //
- put("852", "HK"); // Hong Kong
- put("853", "MO"); // Macao
- put("855", "KH"); // Cambodia
- put("856", "LA"); // Laos
- put("870", "001"); // ??
- put("878", "001"); // ??
- put("880", "BD"); // Bangladesh
- put("881", "001"); // ??
- put("882", "001"); // ??
- put("883", "001"); // ??
- put("886", "TW"); //
- put("888", "001"); // ??
- put("960", "MV"); // Maldives
- put("961", "LB"); // Lebanon
- put("962", "JO"); //
- put("963", "SY"); //
- put("964", "IQ"); // Iraq
- put("965", "KW"); //
- put("966", "SA"); //
- put("967", "YE"); //
- put("968", "OM"); //
- put("970", "PS"); //
- put("971", "AE"); //
- put("972", "IL"); //
- put("973", "BH"); // Bahrain
- put("974", "QA"); //
- put("975", "BT"); // Bhutan
- put("976", "MN"); // Mongolia
- put("977", "NP"); // Nepal
- put("979", "001"); // ??
- put("991", "ITPCS"); // ITPCS (added on 05/22/18)
- put("992", "TJ"); //
- put("993", "TM"); // Turkmenistan
- put("994", "AZ"); //
- put("995", "GE"); // Georgia
- put("996", "KG"); //
- put("998", "UZ"); // Uzbekistan
- // ====== 6 DIGITS ======
- put("441481", "GG"); // Guernsey
- put("441624", "IM"); // Isle Of Man
- put("441534", "JE"); // Jersey
- }};
- }
- public static boolean isValidCountryCode(String code) {
- // return usRegionCodeToIsoCountryMap.containsKey(code)
- // || canadaRegionCodeToIsoCountryMap.containsKey(code)
- // || otherNorthAMRegionCodeToIsoCountryMap.containsKey(code)
- // || othersRegionCodeToIsoCountryMap.containsKey(code);
- return code.startsWith("1")
- || canadaRegionCodeToIsoCountryMap.containsKey(code)
- || otherNorthAMRegionCodeToIsoCountryMap.containsKey(code)
- || othersRegionCodeToIsoCountryMap.containsKey(code);
- }
- public static Map<String, String> getUSIsoCountryNameMap() {
- return usRegionCodeToIsoCountryMap;
- }
- public static Map<String, String> getCanadaIsoCountryNameMap() {
- return canadaRegionCodeToIsoCountryMap;
- }
- public static Map<String, String> getOtherNorthAMIsoCountryNameMap() {
- return otherNorthAMRegionCodeToIsoCountryMap;
- }
- public static Map<String, String> getOthersIsoCountryNameMap() {
- return othersRegionCodeToIsoCountryMap;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement