Поделиться через


ResourceBundle.Control Класс

Определение

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

[Android.Runtime.Register("java/util/ResourceBundle$Control", DoNotGenerateAcw=true)]
public class ResourceBundle.Control : Java.Lang.Object
[<Android.Runtime.Register("java/util/ResourceBundle$Control", DoNotGenerateAcw=true)>]
type ResourceBundle.Control = class
    inherit Object
Наследование
ResourceBundle.Control
Атрибуты

Комментарии

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета. Другими словами, методы ResourceBundle.Control фабрики для загрузки пакетов ресурсов работают совместно. Реализация методов обратного вызова по умолчанию предоставляет сведения, необходимые для использования методов фабрики для выполнения поведения по умолчанию.

Помимо методов обратного вызова, #toBundleName(String, Locale) toBundleName методы и #toResourceName(String, String) toResourceName методы определяются главным образом для удобства при реализации методов обратного вызова. Однако этот toBundleName метод можно переопределить для предоставления различных соглашений в организации и упаковке локализованных ресурсов. Метод toResourceName заключается в том, final чтобы избежать использования неправильных разделителей имен ресурсов и классов.

Два метода #getControl(List) фабрики и #getNoFallbackControl(List)предоставляют ResourceBundle.Control экземпляры, реализующие распространенные варианты процесса загрузки пакета по умолчанию.

Форматы, возвращаемые методом Control#getFormats(String) getFormats и языковыми стандартами кандидатов, возвращаемыми ResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales методом, должны быть согласованы во всех ResourceBundle.getBundle вызовах для одного базового пакета. ResourceBundle.getBundle В противном случае методы могут возвращать непреднамеренные пакеты. Например, если метод возвращает getFormats только "java.class" для первого вызова и только "java.properties" для второго вызоваResourceBundle.getBundle, второй вызов возвращает кэшированный во время первого вызова.

Экземпляр ResourceBundle.Control должен быть потокобезопасн, если он одновременно используется несколькими потоками. ResourceBundle.getBundle не синхронизируется с вызовом ResourceBundle.Control методов. Реализация методов по умолчанию является потокобезопасной.

Приложения могут указывать ResourceBundle.Control экземпляры, возвращаемые getControl методами фабрики или созданными из подкласса ResourceBundle.Control для настройки процесса загрузки пакета. Ниже приведены примеры изменения процесса загрузки пакета по умолчанию.

<Пример>1</b>

Следующий код позволяет ResourceBundle.getBundle искать только ресурсы на основе свойств.

import java.util.*;
            import static java.util.ResourceBundle.Control.*;
            ...
            ResourceBundle bundle =
              ResourceBundle.getBundle("MyResources", new Locale("fr", "CH"),
                                       ResourceBundle.Control.getControl(FORMAT_PROPERTIES));

Учитывая пакеты ресурсов в примере в ResourceBundle.getBundle описании, этот ResourceBundle.getBundle вызов загружает MyResources_fr_CH.properties родительский объект, родительский объект которого является MyResources_fr.properties родительским MyResources.properties. (MyResources_fr_CH.properties не скрыт, но MyResources_fr_CH.class есть.)

<Пример>2</b>

Ниже приведен пример загрузки пакетов на основе XML с помощью Properties#loadFromXML(java.io.InputStream) Properties.loadFromXML.

ResourceBundle rb = ResourceBundle.getBundle("Messages",
                new ResourceBundle.Control() {
                    public List&lt;String&gt; getFormats(String baseName) {
                        if (baseName == null)
                            throw new NullPointerException();
                        return Arrays.asList("xml");
                    }
                    public ResourceBundle newBundle(String baseName,
                                                    Locale locale,
                                                    String format,
                                                    ClassLoader loader,
                                                    boolean reload)
                                     throws IllegalAccessException,
                                            InstantiationException,
                                            IOException {
                        if (baseName == null || locale == null
                              || format == null || loader == null)
                            throw new NullPointerException();
                        ResourceBundle bundle = null;
                        if (format.equals("xml")) {
                            String bundleName = toBundleName(baseName, locale);
                            String resourceName = toResourceName(bundleName, format);
                            InputStream stream = null;
                            if (reload) {
                                URL url = loader.getResource(resourceName);
                                if (url != null) {
                                    URLConnection connection = url.openConnection();
                                    if (connection != null) {
                                        // Disable caches to get fresh data for
                                        // reloading.
                                        connection.setUseCaches(false);
                                        stream = connection.getInputStream();
                                    }
                                }
                            } else {
                                stream = loader.getResourceAsStream(resourceName);
                            }
                            if (stream != null) {
                                BufferedInputStream bis = new BufferedInputStream(stream);
                                bundle = new XMLResourceBundle(bis);
                                bis.close();
                            }
                        }
                        return bundle;
                    }
                });

            ...

            private static class XMLResourceBundle extends ResourceBundle {
                private Properties props;
                XMLResourceBundle(InputStream stream) throws IOException {
                    props = new Properties();
                    props.loadFromXML(stream);
                }
                protected Object handleGetObject(String key) {
                    return props.getProperty(key);
                }
                public Enumeration&lt;String&gt; getKeys() {
                    ...
                }
            }

Добавлено в версии 1.6.

Документация по Java для java.util.ResourceBundle.Control.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

ResourceBundle.Control()

Конструктор единственного.

ResourceBundle.Control(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Поля

TtlDontCache

Константы времени в реальном времени для не кэширования загруженных экземпляров пакета ресурсов.

TtlNoExpirationControl

Константы времени в реальном времени для отключения элемента управления сроком действия для загруженных экземпляров пакета ресурсов в кэше.

Свойства

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
FormatClass

Формат List , содержащий "java.class"только класс.

FormatDefault

Формат Listпо умолчанию, содержащий строки "java.class" и "java.properties"в этом порядке.

FormatProperties

Формат List , содержащий "java.properties"только свойства.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
JniPeerMembers

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

PeerReference

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
Dispose(Boolean)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetCandidateLocales(String, Locale)

List Возвращает значение s в Localeкачестве кандидатов языков для baseName и locale.

GetControl(IList<String>)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

GetFallbackLocale(String, Locale)

Возвращает резервный языковой Locale стандарт для дальнейшего поиска пакета ресурсов методом фабрики ResourceBundle.getBundle .

GetFormats(String)

List StringВозвращает форматы, содержащие форматы, которые будут использоваться для загрузки пакетов ресурсов для заданного.baseName

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetNoFallbackControl(IList<String>)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

GetTimeToLive(String, Locale)

Возвращает значение времени в реальном времени (TTL) для пакетов ресурсов, загруженных в этот ResourceBundle.Controlпараметр.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64)

Определяет, нужно ли перезагрузить истекший bundle срок действия в кэше в зависимости от времени загрузки, заданного loadTime или другими критериями.

NewBundle(String, Locale, String, ClassLoader, Boolean)

Создает экземпляр пакета ресурсов для заданного имени пакета заданного формата и языкового стандарта, используя загрузчик заданного класса при необходимости.

Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
ToBundleName(String, Locale)

Преобразует заданное baseName и locale в имя пакета.

ToResourceName(String, String)

Преобразует заданный bundleName в форму, необходимую ClassLoader#getResource ClassLoader.getResource методом, заменив все вхождения '.' в '/' bundleName приложение и добавление и '.' добавление заданного файлаsuffix.

ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
IJavaPeerable.Finalized()

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

GetJniTypeName(IJavaPeerable)

ResourceBundle.Control определяет набор методов обратного вызова, вызываемых ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle методами фабрики во время процесса загрузки пакета.

Применяется к