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" для первого вызова ResourceBundle.getBundle и только "java.properties" для второго вызова, то второй вызов вернет метод на основе класса, который был кэширован во время первого вызова.

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

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

<b>Пример 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 имеет значение .)

<b>Пример 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.

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

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

ResourceBundle.Control()

Конструктор Sole.

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)

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

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

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> 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 фабричные методы во время загрузки пакета.

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