Condividi tramite


ResourceBundle.Control Classe

Definizione

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

[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
Ereditarietà
ResourceBundle.Control
Attributi

Commenti

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle. In altre parole, un oggetto ResourceBundle.Control collabora con i metodi factory per il caricamento di bundle di risorse. L'implementazione predefinita dei metodi di callback fornisce le informazioni necessarie per i metodi factory per eseguire il comportamento predefinito.

Oltre ai metodi di callback, i #toBundleName(String, Locale) toBundleName metodi e #toResourceName(String, String) toResourceName vengono definiti principalmente per praticità nell'implementazione dei metodi di callback. Tuttavia, è possibile eseguire l'override del toBundleName metodo per fornire convenzioni diverse nell'organizzazione e la creazione di pacchetti di risorse localizzate. Il toResourceName metodo consiste final nell'evitare l'uso di separatori di risorse e nomi di classe errati.

Due metodi factory e #getControl(List)#getNoFallbackControl(List), forniscono ResourceBundle.Control istanze che implementano varianti comuni del processo di caricamento del bundle predefinito.

I formati restituiti dal metodo e dalle Control#getFormats(String) getFormats impostazioni locali candidate restituiti dal ResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales metodo devono essere coerenti in tutte le ResourceBundle.getBundle chiamate per lo stesso bundle di base. In caso contrario, i ResourceBundle.getBundle metodi possono restituire aggregazioni indesiderate. Ad esempio, se viene restituito solo "java.class" dal getFormats metodo per la prima chiamata a ResourceBundle.getBundle e solo "java.properties" per la seconda chiamata, la seconda chiamata restituirà quella basata sulla classe memorizzata nella cache durante la prima chiamata.

Un'istanza ResourceBundle.Control deve essere thread-safe se viene usata contemporaneamente da più thread. ResourceBundle.getBundle non esegue la sincronizzazione per chiamare i ResourceBundle.Control metodi. Le implementazioni predefinite dei metodi sono thread-safe.

Le applicazioni possono specificare ResourceBundle.Control istanze restituite dai getControl metodi factory o create da una sottoclasse di ResourceBundle.Control per personalizzare il processo di caricamento del bundle. Di seguito sono riportati esempi di modifica del processo di caricamento del bundle predefinito.

<b>Esempio 1</b>

Il codice seguente consente di ResourceBundle.getBundle cercare solo le risorse basate sulle proprietà.

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

Dato i bundle di risorse nell'esempio nella descrizione, questa ResourceBundle.getBundleResourceBundle.getBundle chiamata carica MyResources_fr_CH.properties il cui padre è MyResources_fr.properties il cui padre è MyResources.properties. (MyResources_fr_CH.properties non è nascosto, ma MyResources_fr_CH.class è.

<b>Esempio 2</b>

Di seguito è riportato un esempio di caricamento di bundle basati su XML tramite 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() {
                    ...
                }
            }

Aggiunta nella versione 1.6.

Documentazione java per java.util.ResourceBundle.Control.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.

Costruttori

ResourceBundle.Control()

Costruttore unico.

ResourceBundle.Control(IntPtr, JniHandleOwnership)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

TtlDontCache

Costante time-to-live per non memorizzare nella cache le istanze del bundle di risorse caricate.

TtlNoExpirationControl

Costante time-to-live per disabilitare il controllo di scadenza per le istanze del bundle di risorse caricate nella cache.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
FormatClass

Formato di sola List classe contenente "java.class".

FormatDefault

Formato predefinito List, che contiene le stringhe "java.class" e "java.properties", in questo ordine.

FormatProperties

Formato di sola List proprietà contenente "java.properties".

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
JniPeerMembers

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

PeerReference

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Dispose()

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
Dispose(Boolean)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetCandidateLocales(String, Locale)

Restituisce un List valore di Locales come impostazioni locali candidate per baseName e locale.

GetControl(IList<String>)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

GetFallbackLocale(String, Locale)

Restituisce un Locale oggetto da utilizzare come impostazioni locali di fallback per ulteriori ricerche nel bundle di risorse dal ResourceBundle.getBundle metodo factory.

GetFormats(String)

Restituisce un List oggetto contenente Stringi formati da utilizzare per caricare i bundle di risorse per l'oggetto specificato baseName.

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetNoFallbackControl(IList<String>)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

GetTimeToLive(String, Locale)

Restituisce il valore TTL (Time-to-Live) per i bundle di risorse caricati in questo oggetto ResourceBundle.Control.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64)

Determina se l'oggetto scaduto nella cache deve essere ricaricato bundle in base al tempo di caricamento specificato da loadTime o altri criteri.

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

Crea un'istanza di un bundle di risorse per il nome del bundle specificato del formato e delle impostazioni locali specificati, usando il caricatore di classi specificato, se necessario.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio di questo oggetto.

(Ereditato da Object)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
ToArray<T>()

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
ToBundleName(String, Locale)

Converte l'oggetto specificato baseName e locale nel nome del bundle.

ToResourceName(String, String)

Converte l'oggetto specificato bundleName nel modulo richiesto dal ClassLoader#getResource ClassLoader.getResource metodo sostituendo tutte le occorrenze di '.' in bundleName con '/' e aggiungendo un '.' oggetto e il file suffixspecificato.

ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
IJavaPeerable.Finalized()

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

GetJniTypeName(IJavaPeerable)

ResourceBundle.Control definisce un set di metodi di callback richiamati dai ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle metodi factory durante il processo di caricamento del bundle.

Si applica a