ResourceBundle.Control Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
ResourceBundle.Control
définit un ensemble de méthodes de rappel appelées par les ResourceBundle#getBundle(String,
Locale, ClassLoader, Control) ResourceBundle.getBundle
méthodes de fabrique pendant le processus de chargement de 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
- Héritage
- Attributs
Remarques
ResourceBundle.Control
définit un ensemble de méthodes de rappel appelées par les ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle
méthodes de fabrique pendant le processus de chargement de bundle. En d’autres termes, une ResourceBundle.Control
collaboration avec les méthodes de fabrique pour le chargement des bundles de ressources. L’implémentation par défaut des méthodes de rappel fournit les informations nécessaires pour que les méthodes de fabrique effectuent le comportement par défaut.
Outre les méthodes de rappel, les #toBundleName(String, Locale) toBundleName
méthodes et #toResourceName(String, String) toResourceName
méthodes sont définies principalement pour faciliter l’implémentation des méthodes de rappel. Toutefois, la toBundleName
méthode peut être substituée pour fournir différentes conventions dans l’organisation et l’empaquetage des ressources localisées. La toResourceName
méthode consiste final
à éviter l’utilisation de séparateurs de noms de ressources et de noms de classe incorrects.
Deux méthodes de fabrique et #getControl(List)
#getNoFallbackControl(List)
fournissent des ResourceBundle.Control
instances qui implémentent des variantes courantes du processus de chargement de bundle par défaut.
Les formats retournés par la Control#getFormats(String) getFormats
méthode et les paramètres régionaux candidats retournés par la ResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales
méthode doivent être cohérents dans tous les ResourceBundle.getBundle
appels pour le même bundle de base. Sinon, les ResourceBundle.getBundle
méthodes peuvent retourner des bundles inattendus. Par exemple, s’il "java.class"
n’est retourné que par la getFormats
méthode pour le premier appel et ResourceBundle.getBundle
uniquement "java.properties"
pour le deuxième appel, le deuxième appel retourne celui basé sur la classe qui a été mis en cache pendant le premier appel.
Une ResourceBundle.Control
instance doit être thread-safe si elle est utilisée simultanément par plusieurs threads. ResourceBundle.getBundle
ne se synchronise pas pour appeler les ResourceBundle.Control
méthodes. Les implémentations par défaut des méthodes sont thread-safe.
Les applications peuvent spécifier des ResourceBundle.Control
instances retournées par les getControl
méthodes de fabrique ou créées à partir d’une sous-classe de pour personnaliser le processus de ResourceBundle.Control
chargement de bundle. Voici des exemples de modification du processus de chargement de bundle par défaut.
<b>Exemple 1</b>
Le code suivant permet ResourceBundle.getBundle
de rechercher uniquement les ressources basées sur les propriétés.
import java.util.*;
import static java.util.ResourceBundle.Control.*;
...
ResourceBundle bundle =
ResourceBundle.getBundle("MyResources", new Locale("fr", "CH"),
ResourceBundle.Control.getControl(FORMAT_PROPERTIES));
Étant donné les bundles de ressources dans l’exemple de la ResourceBundle.getBundle
description, cet ResourceBundle.getBundle
appel charge MyResources_fr_CH.properties
le parent dont le parent est MyResources_fr.properties
MyResources.properties
le parent. (MyResources_fr_CH.properties
n’est pas masqué, mais MyResources_fr_CH.class
est.)
<b>Exemple 2</b>
Voici un exemple de chargement de bundles XML à l’aide Properties#loadFromXML(java.io.InputStream) Properties.loadFromXML
de .
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() {
...
}
}
Ajouté dans la version 1.6.
Documentation Java pour java.util.ResourceBundle.Control
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
Constructeurs
ResourceBundle.Control() |
Constructeur unique. |
ResourceBundle.Control(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Champs
TtlDontCache |
Constante de durée de vie pour ne pas mettre en cache les instances de bundle de ressources chargées. |
TtlNoExpirationControl |
Constante de durée de vie pour désactiver le contrôle d’expiration pour les instances de bundle de ressources chargées dans le cache. |
Propriétés
Class |
Retourne la classe runtime de ce |
FormatClass |
Format de classe uniquement |
FormatDefault |
Format par défaut |
FormatProperties |
Format de propriétés uniquement |
Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
GetCandidateLocales(String, Locale) |
Retourne un |
GetControl(IList<String>) |
|
GetFallbackLocale(String, Locale) |
Retourne une |
GetFormats(String) |
Retourne un |
GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
GetNoFallbackControl(IList<String>) |
|
GetTimeToLive(String, Locale) |
Retourne la valeur de durée de vie (TTL) pour les bundles de ressources chargés sous ce |
JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64) |
Détermine si l’expiration |
NewBundle(String, Locale, String, ClassLoader, Boolean) |
Instancie un bundle de ressources pour le nom de bundle donné du format et des paramètres régionaux donnés, en utilisant le chargeur de classes donné si nécessaire. |
Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
ToArray<T>() |
|
ToBundleName(String, Locale) |
Convertit le nom donné |
ToResourceName(String, String) |
Convertit l’élément donné |
ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
UnregisterFromRuntime() |
|
Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou> <em>interrompu</em>.<> (Hérité de Object) |
Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Méthodes d’extension
JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|