言語

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)の 2 つのファクトリ メソッドは、既定のバンドル読み込みプロセスの一般的なバリエーションを実装するResourceBundle.Controlインスタンスを提供します。

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

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

アプリケーションでは、ResourceBundle.Control ファクトリ メソッドによって返されるインスタンスまたはgetControlのサブクラスから作成されたResourceBundle.Controlインスタンスを指定して、バンドルの読み込みプロセスをカスタマイズできます。 既定のバンドル読み込みプロセスを変更する例を次に示します。

<b>Example 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.propertiesMyResources_fr.properties親を持つMyResources.propertiesを読み込みます。 (MyResources_fr_CH.properties は非表示ではありませんが、 MyResources_fr_CH.class です)。

<b>Example 2</b>

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

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.util.ResourceBundle.Controlの Java ドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
ResourceBundle.Control()

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

ResourceBundle.Control(IntPtr, JniHandleOwnership)

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

フィールド

名前 説明
TtlDontCache

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

TtlNoExpirationControl

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

プロパティ

名前 説明
Class

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

(継承元 Object)
FormatClass

クラス専用の形式List"java.class"を含みます。

FormatDefault

既定の形式 List。文字列 "java.class""java.properties"がこの順序で格納されます。

FormatProperties

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

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

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

(継承元 JavaObject)
JniPeerMembers

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

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

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

(継承元 JavaObject)
Equals(Object)

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

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetCandidateLocales(String, Locale)

ListLocaleの候補ロケールとしてbaseNamelocaleを返します。

GetControl(IList<String>)

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

GetFallbackLocale(String, Locale)

Locale ファクトリ メソッドによるリソース バンドル検索のフォールバック ロケールとして使用するResourceBundle.getBundleを返します。

GetFormats(String)

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

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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToBundleName(String, Locale)

指定した baseNamelocale をバンドル名に変換します。

ToResourceName(String, String)

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

ToString()

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

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

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

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

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

(継承元 JavaObject)
IJavaPeerable.Finalized()

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

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象