/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.motorola.studio.android.common.utilities.ui;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
* Class to handle the countries.
*/
public class ToolsCountries
{
/**
* The shared instance.
*/
private static ToolsCountries instance = null;
/**
* Bundle to get countries from module (properties file).
*/
private final ResourceBundle bundle;
/**
* Default constructor.
*/
private ToolsCountries()
{
this.bundle = ResourceBundle.getBundle("countries"); //$NON-NLS-1$
}
/**
* Returns the single instance.
*
* @return The singleton instance.
*/
public static synchronized ToolsCountries getInstance()
{
if (instance == null)
{
instance = new ToolsCountries();
}
return instance;
}
/**
* Returns all countries.
*
* @return All countries.
*/
public List<Country> getCountries()
{
List<Country> toReturn = new ArrayList<Country>();
try
{
Enumeration<String> keys = bundle.getKeys();
while (keys.hasMoreElements())
{
String countryCode = keys.nextElement();
String countryName = bundle.getString(countryCode);
toReturn.add(new Country(countryCode, countryName));
}
Collections.sort(toReturn);
}
catch (MissingResourceException e)
{
toReturn = new ArrayList<Country>();
}
return toReturn;
}
}