Читаем Платформа J2Me полностью

@выдает пакет ресурсов для возвращения

*/

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);

}


Листинг 9.8. Класс. ListResourceBundle использует «список» (в действительности двухмерный массив объектов) для агрегирования ресурсов


/**


Этот класс определяет пакет ресурсов как подходящий массив ресурсов.

Он воспроизводит класс того же имени, определяемый платформой 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;

}

}


Перейти на страницу:

Похожие книги

Программирование мобильных устройств на платформе .NET Compact Framework
Программирование мобильных устройств на платформе .NET Compact Framework

Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.

Иво Салмре

Программирование / Книги по IT