次の方法で共有


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 オーバーライドして、組織内のさまざまな規則とローカライズされたリソースのパッケージ化を提供できます。 このメソッドは toResourceNamefinal 間違ったリソースとクラス名の区切り記号を使用しないようにすることです。

2 つのファクトリ メソッドと#getNoFallbackControl(List)#getControl(List)既定のバンドル読み込みプロセスの一般的なバリエーションを実装するインスタンスを提供ResourceBundle.Controlします。

メソッドによって返される形式と、メソッドによってControl#getFormats(String) getFormatsResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales返される候補ロケールは、同じ基本バンドルのすべてのResourceBundle.getBundle呼び出しで一貫している必要があります。 それ以外の場合、メソッドは ResourceBundle.getBundle 意図しないバンドルを返す可能性があります。 たとえば、最初の呼び出しと 2 番目の呼び出しResourceBundle.getBundleに対してのみ"java.class""java.properties"メソッドによってgetFormats返される場合、2 番目の呼び出しは、最初の呼び出し中にキャッシュされたクラスベースの呼び出しを返します。

ResourceBundle.Controlインスタンスが複数のスレッドで同時に使用される場合は、スレッド セーフである必要があります。 ResourceBundle.getBundle は、メソッドを呼び出 ResourceBundle.Control すために同期しません。 メソッドの既定の実装はスレッド セーフです。

アプリケーションでは、ファクトリ メソッドによってgetControl返されるインスタンスまたはサブクラスから作成されたインスタンスを指定ResourceBundle.Controlして、バンドルの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.propertiesMyResources.properties親であるユーザーを読み込みますMyResources_fr_CH.properties。 (MyResources_fr_CH.properties は非表示ではありませんが、MyResources_fr_CH.class

<b>例 2</b>

を使用して Properties#loadFromXML(java.io.InputStream) Properties.loadFromXMLXML ベースのバンドルを読み込む例を次に示します。

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 オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

ResourceBundle.Control()

唯一のコンストラクター。

ResourceBundle.Control(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

フィールド

TtlDontCache

読み込まれたリソース バンドル インスタンスをキャッシュしない場合の Time to Live 定数。

TtlNoExpirationControl

キャッシュに読み込まれたリソース バンドル インスタンスの有効期限コントロールを無効にするための有効期間定数。

プロパティ

Class

この Objectランタイム クラスを返します。

(継承元 Object)
FormatClass

を含む"java.class"クラス専用の形式List

FormatDefault

文字列"java.class"を含む既定の形式List。この"java.properties"順序で指定します。

FormatProperties

を含む"java.properties"プロパティのみの形式List

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 は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

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)

の候補ListLocaleロケールとして baseName s を返しますlocale

GetControl(IList<String>)

ResourceBundle.Control は、バンドルの読み込みプロセス中にファクトリ メソッドによって ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 呼び出されるコールバック メソッドのセットを定義します。

GetFallbackLocale(String, Locale)

ファクトリ メソッドによるそれ以降のリソース バンドル検索のフォールバック ロケールとして使用される a LocaleResourceBundle.getBundle 返します。

GetFormats(String)

指定baseNameされたListリソース バンドルのString読み込みに使用する形式を含む s を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetNoFallbackControl(IList<String>)

ResourceBundle.Control は、バンドルの読み込みプロセス中にファクトリ メソッドによって ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 呼び出されるコールバック メソッドのセットを定義します。

GetTimeToLive(String, Locale)

この ResourceBundle.Control下に読み込まれるリソース バンドルの Time to Live (TTL) 値を返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64)

キャッシュ内の有効期限が切れている bundle かどうかを、読み込み時間またはその他の条件に基づいて再読み込みする loadTime 必要があるかどうかを判断します。

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

必要に応じて、指定されたクラス ローダーを使用して、指定された形式とロケールの特定のバンドル名のリソース バンドルをインスタンス化します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 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)

in のすべての出現'.' bundleName '/'箇所bundleNameを置き換え、指定されたファイルと指定されたファイルを'.'追加することによって、メソッドで必要なClassLoader#getResource ClassLoader.getResourceフォームに渡された形式suffixに変換します。

ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
UnregisterFromRuntime()

ResourceBundle.Control は、バンドルの読み込みプロセス中にファクトリ メソッドによって ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle 呼び出されるコールバック メソッドのセットを定義します。

(継承元 Object)
Wait()

現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <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 呼び出されるコールバック メソッドのセットを定義します。

適用対象