@выдает пакет ресурсов для возвращения
*/
public static ResourceBundle getBundle(String baseName, String locale)
throws IllegalArgumentException, MissingResourceException
{
Class c; if (baseName == null)
{
throw new IllegalArgumentException("No basename.");
{
String className = baseName + «_» + locale;
ResourceBundle bundle = null;
try
{
с = Class.forName(className);
bundle = (ResourceBundle) с. newlnstance();
}
catch (ClassNotFoundException cnfe)
throw new
MissingResourceException("Class not found.");
}
catch (InstantiationException ie)
{
throw new
MissingResourceException("Can11 instantiate.");
}
catch (IllegalAccessException iae)
{
throw new
MissingResourceException("Can1t access.");
}
return bundle;
}
/**
Извлекает объект с указанным ключом. Если ключ не найден, ищется родительский пакет.
@param key Ключ объекта
@выдает объект с указанным ключом
*/
public final Object getObject(String key)
throws MissingResourceException
}
Object obj; if (key == null)
{
throw new NullPointerException();
}
obj = handleGetObject(key); if (obj == null SS parent 1= null)
{
obj = parent.getObject(key);
}
if (obj == null)
{
throw new MissingResourceException ();
return obj;
}
/**
Ищет данный пакет ресурсов для объекта с указанным ключом.
@param key Ключ поиска желаемого объекта.
@выдает объект с указанным ключом.
*/
protected abstract Object handleGetObject(String key);
}
/**
Этот класс определяет пакет ресурсов как подходящий массив ресурсов.
Он воспроизводит класс того же имени, определяемый платформой J2SE, java.util.ListResourceBundle.
Данный класс абстрактен. Приложения вынуждены создавать его подклассы и определять конкретные классы, которые содержат локализованные ресурсы.
0пределенные подклассы конкретного приложения должны быть названы так, чтобы имя содержало язык и страну региональной настройки, в соответствии со стандартами ISO 639 и ISO 3166 для языковых и страновых кодов соответственно.
*/
открытый абстрактный класс ListResourceBundle дополняет ResourceBundle
/**
Конструктор No-arg.
*/
public ListResourceBundle()
super();
// Массив ресурсов в формате ключ-значение, private static final Object [][] contents = null;
/**
Получает массив ресурсов.
@возвращает двухмерный массив пар ключ-значение, который определяет эту группу.
*/
public abstract Object [][] getContents();
/**
Получает объект, который представляет значение, связанное с указанным ключом.
@param key Ключ пары ключ-значение.
@выдает объект, который представляет значение пары ключ-значение.
*/
public final Object handleGetObject(String key)
{
Object value = null; if. (key == null)
{
return null;
}
Object [][] pairs = getContents ();
for (int i = 0; i < pairs. length; i + +) if (key.equals(pairs [i] [0]))
value = (pairs [i] [1]);
}
}
return value;
}
}