ResourceBundle.Control Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
ResourceBundle.Control mendefinisikan serangkaian metode panggilan balik yang dipanggil oleh ResourceBundle#getBundle(String,
Locale, ClassLoader, Control) ResourceBundle.getBundle metode pabrik selama proses pemuatan bundel.
[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
- Warisan
- Atribut
Keterangan
ResourceBundle.Control mendefinisikan serangkaian metode panggilan balik yang dipanggil oleh ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metode pabrik selama proses pemuatan bundel. Dengan kata lain, berkolaborasi ResourceBundle.Control dengan metode pabrik untuk memuat bundel sumber daya. Implementasi default metode panggilan balik memberikan informasi yang diperlukan agar metode pabrik melakukan perilaku default.
Selain metode panggilan balik, #toBundleName(String, Locale) toBundleName metode dan #toResourceName(String, String) toResourceName didefinisikan terutama untuk kenyamanan dalam menerapkan metode panggilan balik. Namun, metode ini toBundleName dapat ditimpa untuk menyediakan konvensi yang berbeda dalam organisasi dan pengemasan sumber daya yang dilokalkan. Metode toResourceName ini untuk final menghindari penggunaan pemisah sumber daya dan nama kelas yang salah.
Dua metode pabrik, #getControl(List) dan #getNoFallbackControl(List), menyediakan ResourceBundle.Control instans yang menerapkan variasi umum dari proses pemuatan bundel default.
Format yang dikembalikan oleh Control#getFormats(String) getFormats metode dan kandidat lokal yang dikembalikan oleh ResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales metode harus konsisten dalam semua ResourceBundle.getBundle pemanggilan untuk bundel dasar yang sama. Jika tidak, ResourceBundle.getBundle metode dapat mengembalikan bundel yang tidak diinginkan. Misalnya, jika hanya "java.class" dikembalikan oleh getFormats metode untuk panggilan pertama ke ResourceBundle.getBundle dan hanya "java.properties" untuk panggilan kedua, maka panggilan kedua akan mengembalikan panggilan berbasis kelas yang telah di-cache selama panggilan pertama.
ResourceBundle.Control Instans harus aman untuk utas jika digunakan secara bersamaan oleh beberapa utas.
ResourceBundle.getBundle tidak disinkronkan untuk memanggil ResourceBundle.Control metode. Implementasi default metode ini aman untuk utas.
Aplikasi dapat menentukan ResourceBundle.Control instans yang dikembalikan oleh getControl metode pabrik atau dibuat dari subkelas ResourceBundle.Control untuk menyesuaikan proses pemuatan bundel. Berikut ini adalah contoh mengubah proses pemuatan bundel default.
<b>Contoh 1</b>
Kode berikut memungkinkan ResourceBundle.getBundle mencari hanya sumber daya berbasis properti.
import java.util.*;
import static java.util.ResourceBundle.Control.*;
...
ResourceBundle bundle =
ResourceBundle.getBundle("MyResources", new Locale("fr", "CH"),
ResourceBundle.Control.getControl(FORMAT_PROPERTIES));
Mengingat bundel sumber daya dalam contoh dalam ResourceBundle.getBundle deskripsi, panggilan ini ResourceBundle.getBundle memuat MyResources_fr_CH.properties induknya adalah MyResources_fr.properties induknya .MyResources.properties (MyResources_fr_CH.properties tidak tersembunyi, tetapi MyResources_fr_CH.class adalah.)
<b>Contoh 2</b>
Berikut ini adalah contoh memuat bundel berbasis XML menggunakan Properties#loadFromXML(java.io.InputStream) Properties.loadFromXML.
ResourceBundle rb = ResourceBundle.getBundle("Messages",
new ResourceBundle.Control() {
public List<String> 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<String> getKeys() {
...
}
}
Ditambahkan dalam 1.6.
Java dokumentasi untuk java.util.ResourceBundle.Control.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ResourceBundle.Control() |
Satu-satu konstruktor. |
| ResourceBundle.Control(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Bidang
| Nama | Deskripsi |
|---|---|
| TtlDontCache |
Konstanta time-to-live untuk tidak menyimpan instans bundel sumber daya yang dimuat. |
| TtlNoExpirationControl |
Konstanta time-to-live untuk menonaktifkan kontrol kedaluwarsa untuk instans bundel sumber daya yang dimuat di cache. |
Properti
| Nama | Deskripsi |
|---|---|
| Class |
Mengembalikan kelas runtime dari . |
| FormatClass |
Format |
| FormatDefault |
Format |
| FormatProperties |
Format |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| JniIdentityHashCode |
Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop. (Diperoleh dari Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| PeerReference |
Mendapatkan referensi objek JNI untuk peer Java ini. (Diperoleh dari Object) |
| ThresholdClass |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
| ThresholdType |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
Metode
| Nama | Deskripsi |
|---|---|
| Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| Dispose(Boolean) |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| GetCandidateLocales(String, Locale) |
Mengembalikan |
| GetControl(IList<String>) |
|
| GetFallbackLocale(String, Locale) |
Mengembalikan yang |
| GetFormats(String) |
|
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| GetNoFallbackControl(IList<String>) |
|
| GetTimeToLive(String, Locale) |
Mengembalikan nilai time-to-live (TTL) untuk bundel sumber daya yang dimuat di bawah ini |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64) |
Menentukan apakah kedaluwarsa |
| NewBundle(String, Locale, String, ClassLoader, Boolean) |
Membuat instans bundel sumber daya untuk nama bundel yang diberikan dari format dan lokal tertentu, menggunakan pemuat kelas yang diberikan jika perlu. |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Mengatur properti Handle. (Diperoleh dari Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
Membuat array terkelola dari pembungkus array Java ini. (Diperoleh dari Object) |
| ToBundleName(String, Locale) |
Mengonversi yang diberikan |
| ToResourceName(String, String) |
Mengonversi yang diberikan |
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
Membatalkan pendaftaran peer Java ini dari runtime interop. (Diperoleh dari Object) |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
| Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
| Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |