private static PrefixTimeZonesMap loadPrefixTimeZonesMapFromFile(String path) { InputStream source = PhoneNumberToTimeZonesMapper.class.getResourceAsStream(path); ObjectInputStream in = null; PrefixTimeZonesMap map = new PrefixTimeZonesMap(); try { in = new ObjectInputStream(source); map.readExternal(in); } catch (IOException e) { LOGGER.log(Level.WARNING, e.toString()); } finally { close(in); } return map; }
/** * Returns the list of time zones corresponding to the country calling code of {@code number}. * * @param number the phone number to look up * @return the list of corresponding time zones or a single element list with the default unknown * time zone if no other time zone was found */ private List<String> getCountryLevelTimeZonesforNumber(PhoneNumber number) { List<String> timezones = prefixTimeZonesMap.lookupCountryLevelTimeZonesForNumber(number); return Collections.unmodifiableList(timezones.isEmpty() ? UNKNOWN_TIME_ZONE_LIST : timezones); }