ResourceBundle.Control Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
ResourceBundle.Control define un conjunto de métodos de devolución de llamada invocados por los ResourceBundle#getBundle(String,
Locale, ClassLoader, Control) ResourceBundle.getBundle métodos de fábrica durante el proceso de carga de paquetes.
[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
- Herencia
- Atributos
Comentarios
ResourceBundle.Control define un conjunto de métodos de devolución de llamada invocados por los ResourceBundle#getBundle(String, Locale, ClassLoader, Control) ResourceBundle.getBundle métodos de fábrica durante el proceso de carga de paquetes. Es decir, colabora ResourceBundle.Control con los métodos de fábrica para cargar agrupaciones de recursos. La implementación predeterminada de los métodos de devolución de llamada proporciona la información necesaria para que los métodos de fábrica realicen el comportamiento predeterminado.
Además de los métodos de devolución de llamada, los #toBundleName(String, Locale) toBundleName métodos y #toResourceName(String, String) toResourceName se definen principalmente para mayor comodidad al implementar los métodos de devolución de llamada. Sin embargo, el toBundleName método se podría invalidar para proporcionar convenciones diferentes en la organización y empaquetado de recursos localizados. El toResourceName método es final evitar el uso de separadores de nombre de clase y recursos incorrectos.
Dos métodos de fábrica, #getControl(List) y #getNoFallbackControl(List), proporcionan ResourceBundle.Control instancias que implementan variaciones comunes del proceso de carga de agrupación predeterminado.
Los formatos devueltos por el método y las Control#getFormats(String) getFormats configuraciones regionales candidatas devueltos por el ResourceBundle.Control#getCandidateLocales(String, Locale) getCandidateLocales método deben ser coherentes en todas las ResourceBundle.getBundle invocaciones para la misma agrupación base. De lo contrario, los ResourceBundle.getBundle métodos pueden devolver paquetes no deseados. Por ejemplo, si solo "java.class" devuelve el getFormats método para la primera llamada a ResourceBundle.getBundle y solo "java.properties" para la segunda llamada, la segunda llamada devolverá la clase basada en clase que se ha almacenado en caché durante la primera llamada.
Una ResourceBundle.Control instancia debe ser segura para subprocesos si se usa simultáneamente en varios subprocesos. ResourceBundle.getBundle no se sincroniza para llamar a los ResourceBundle.Control métodos. Las implementaciones predeterminadas de los métodos son seguras para subprocesos.
Las aplicaciones pueden especificar ResourceBundle.Control instancias devueltas por los getControl métodos de fábrica o creadas a partir de una subclase de para personalizar el proceso de ResourceBundle.Control carga de paquetes. A continuación se muestran ejemplos de cómo cambiar el proceso de carga de agrupación predeterminado.
<b>Ejemplo 1</b>
El código siguiente permite ResourceBundle.getBundle buscar solo recursos basados en propiedades.
import java.util.*;
import static java.util.ResourceBundle.Control.*;
...
ResourceBundle bundle =
ResourceBundle.getBundle("MyResources", new Locale("fr", "CH"),
ResourceBundle.Control.getControl(FORMAT_PROPERTIES));
Dadas las agrupaciones de recursos del ejemplo de la ResourceBundle.getBundle descripción, esta ResourceBundle.getBundle llamada carga MyResources_fr_CH.properties cuyo elemento primario es MyResources_fr.properties cuyo elemento primario es MyResources.properties. (MyResources_fr_CH.properties no está oculto, pero MyResources_fr_CH.class es).
<b>Ejemplo 2</b>
A continuación se muestra un ejemplo de carga de agrupaciones basadas en XML mediante 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() {
...
}
}
Agregado en la versión 1.6.
Documentación de Java para java.util.ResourceBundle.Control.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| ResourceBundle.Control() |
Constructor único. |
| ResourceBundle.Control(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Campos
| TtlDontCache |
Constante de período de vida para no almacenar en caché instancias de agrupación de recursos cargadas. |
| TtlNoExpirationControl |
Constante de período de vida para deshabilitar el control de expiración para las instancias de agrupación de recursos cargadas en la memoria caché. |
Propiedades
| Class |
Devuelve la clase en tiempo de ejecución de este |
| FormatClass |
Formato de solo |
| FormatDefault |
El formato |
| FormatProperties |
Formato de solo |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
|
| JniPeerMembers |
|
| PeerReference |
|
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Dispose() |
|
| Dispose(Boolean) |
|
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetCandidateLocales(String, Locale) |
Devuelve un |
| GetControl(IList<String>) |
|
| GetFallbackLocale(String, Locale) |
Devuelve un |
| GetFormats(String) |
Devuelve un |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| GetNoFallbackControl(IList<String>) |
|
| GetTimeToLive(String, Locale) |
Devuelve el valor de período de vida (TTL) para los conjuntos de recursos que se cargan en este |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| NeedsReload(String, Locale, String, ClassLoader, ResourceBundle, Int64) |
Determina si es necesario volver a cargar el tiempo de carga expirado |
| NewBundle(String, Locale, String, ClassLoader, Boolean) |
Crea una instancia de un lote de recursos para el nombre de lote especificado del formato y la configuración regional especificados, mediante el cargador de clases especificado si es necesario. |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| ToArray<T>() |
|
| ToBundleName(String, Locale) |
Convierte el objeto especificado |
| ToResourceName(String, String) |
Convierte el especificado |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| UnregisterFromRuntime() |
|
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.DisposeUnlessReferenced() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniManagedPeerState |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Métodos de extensión
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
|
| GetJniTypeName(IJavaPeerable) |
|