[Schmitzm-commits] r874 - trunk/src/schmitzm/lang
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Fri May 28 17:13:06 CEST 2010
Author: alfonx
Date: 2010-05-28 17:13:05 +0200 (Fri, 28 May 2010)
New Revision: 874
Modified:
trunk/src/schmitzm/lang/ResourceProvider.java
Log:
Modified: trunk/src/schmitzm/lang/ResourceProvider.java
===================================================================
--- trunk/src/schmitzm/lang/ResourceProvider.java 2010-05-28 14:58:16 UTC (rev 873)
+++ trunk/src/schmitzm/lang/ResourceProvider.java 2010-05-28 15:13:05 UTC (rev 874)
@@ -47,523 +47,659 @@
import schmitzm.jfree.JFreeChartUtil;
/**
- * Stellt den Zugriff auf ein {@link ResourceBundle} zur Verfuegung.
- * Hierbei muss der Name (Pfad) ein standard-maessig verwendeten Bundles
- * angebenen werden. Es besteht die Moeglichkeit, dass fehlende Ressourcen
- * nicht mit einer {@link MissingResourceException} behandelt werden, sondern
- * mit <code>null</code>, bzw. einem Alternativ-String ignoriert werden.<br>
+ * Stellt den Zugriff auf ein {@link ResourceBundle} zur Verfuegung. Hierbei
+ * muss der Name (Pfad) ein standard-maessig verwendeten Bundles angebenen
+ * werden. Es besteht die Moeglichkeit, dass fehlende Ressourcen nicht mit einer
+ * {@link MissingResourceException} behandelt werden, sondern mit
+ * <code>null</code>, bzw. einem Alternativ-String ignoriert werden.<br>
* Zudem erlaubt es der {@code ResourceProvider}, dass ein alternatives
- * Resource-Bundle spezifiziert wird ({@link #resetResourceBundle(String,String) resetResourceBundle(..)}).
- * Ist dieses gesetzt, wird primaer darin nach einer Ressource gesucht. Nur wenn
+ * Resource-Bundle spezifiziert wird (
+ * {@link #resetResourceBundle(String,String) resetResourceBundle(..)}). Ist
+ * dieses gesetzt, wird primaer darin nach einer Ressource gesucht. Nur wenn
* dort die Ressource nicht gefunden wird, wird auf das Standard-Bundle
* zurueckgegriffen.<br>
* <br>
* <b>Anwendungsbereich:</b><br>
- * Diverse Standard-Libraries stellen jeweils einen eigenen {@link ResourceProvider}
- * zur Verfuegung, dessen Bundle im Pfad des Standard-Library hinterlegt ist (z.B.
- * {@link JFreeChartUtil#RESOURCE}: Ressourcen hinterlegt in
- * {@code schmitzm.jfree.ResourceBundle_XXX.properties}).<br>
+ * Diverse Standard-Libraries stellen jeweils einen eigenen
+ * {@link ResourceProvider} zur Verfuegung, dessen Bundle im Pfad des
+ * Standard-Library hinterlegt ist (z.B. {@link JFreeChartUtil#RESOURCE}:
+ * Ressourcen hinterlegt in {@code schmitzm.jfree.ResourceBundle_XXX.properties}
+ * ).<br>
* Sollen fuer eine spezielle Applikation diese Ressourcen (u.U. nur teilweise)
- * abgeaendert oder fuer eine neue Sprache erweitert werden, kann dies geschehen,
- * ohne Zugriff auf die Standard-Library zu haben. Die Applikation kann
- * einfach {@link #resetResourceBundle(String,String) resetResourceBundle(..)}
- * aufrufen und so den Resource-Provider anweisen, zunaechst ein applikationsspezifisches
- * Bundle zu verwenden (welches in einem appl.spez. Pfad hinterlegt ist).
- * Alle Library-internen Zugriffe werden durch den {@code ResourceProvider}
- * umgelenkt. Wenn das appl.spez. Bundle eine Ressource nicht zur Verfuegung stellt,
- * wird automatisch auf das Standard-Bundle zurueck gegriffen.
- * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+ * abgeaendert oder fuer eine neue Sprache erweitert werden, kann dies
+ * geschehen, ohne Zugriff auf die Standard-Library zu haben. Die Applikation
+ * kann einfach {@link #resetResourceBundle(String,String)
+ * resetResourceBundle(..)} aufrufen und so den Resource-Provider anweisen,
+ * zunaechst ein applikationsspezifisches Bundle zu verwenden (welches in einem
+ * appl.spez. Pfad hinterlegt ist). Alle Library-internen Zugriffe werden durch
+ * den {@code ResourceProvider} umgelenkt. Wenn das appl.spez. Bundle eine
+ * Ressource nicht zur Verfuegung stellt, wird automatisch auf das
+ * Standard-Bundle zurueck gegriffen.
+ *
+ * @author <a href="mailto:Martin.Schmitz at koeln.de">Martin Schmitz</a>
+ * (University of Bonn/Germany)
* @version 1.0
*/
public class ResourceProvider {
- /** Enthaelt automatisch alle erzeugten {@link ResourceProvider}. Wird im
- * Konstruktor von {@link ResourceProvider} automatisch befuellt.<br>
- * TODO: private machen und ordentliche getter und setter implementieren! */
- public static final SortableVector<ResourceProvider> RESOURCE_BUNDLES = new SortableVector<ResourceProvider>();
-
- private static final Logger LOGGER = Logger.getLogger(ResourceProvider.class.getSimpleName());
-
- /** Diese String constante wird zurückgeliefert, wenn keine Wert fuer den
- * Schluessel gefunden wurde. */
+ /**
+ * Enthaelt automatisch alle erzeugten {@link ResourceProvider}. Wird im
+ * Konstruktor von {@link ResourceProvider} automatisch befuellt.<br>
+ * TODO: private machen und ordentliche getter und setter implementieren!
+ */
+ public static final SortableVector<ResourceProvider> RESOURCE_BUNDLES = new SortableVector<ResourceProvider>();
+
+ private static final Logger LOGGER = Logger
+ .getLogger(ResourceProvider.class.getSimpleName());
+
+ /**
+ * Diese String constante wird zurückgeliefert, wenn keine Wert fuer den
+ * Schluessel gefunden wurde.
+ */
public static final String MISSING_RESOURCE_STRING = "???";
- /** Standard-Resource-Bundle, auf das zurueckgegriffen wird, wenn
- * Ressource im aktuell gesetzten Bundle nicht gefunden wird. */
- private String defaultResourceBundle = null;
- /** Alternatives Resource-Bundle, in dem zuerst nach einer
- * Ressource gesucht wird. */
- private String resourceBundle = defaultResourceBundle;
- /** Prefix, das beim Suchen im alternativen Resource-Bundle jedem Key
- * vorangestellt wird. */
- private String keyPrefix = "";
- /** Flag, ob fehlende Ressourcen ignoriert werden, oder mit einer
- * {@link MissingResourceException} behandelt werden. */
- private boolean ignoreMissingResource = false;
- /** Wenn fehlende Ressourcen ignoriert werden, liefert {@link #getObject(String)}
- * den Wert {@code null}. {@link #getString(String)} liefert den in dieser
- * Variable hinterlegten Alternativ-String. */
- private String missingResourceString = null;
- /** Sprache, die durch das Root-Bundle (Fallback-Bundle) dargestellt wird.
- * Nur zu Informationszwecken! */
- private Locale rootLocale = null;
+ /**
+ * Standard-Resource-Bundle, auf das zurueckgegriffen wird, wenn Ressource
+ * im aktuell gesetzten Bundle nicht gefunden wird.
+ */
+ private String defaultResourceBundle = null;
+ /**
+ * Alternatives Resource-Bundle, in dem zuerst nach einer Ressource gesucht
+ * wird.
+ */
+ private String resourceBundle = defaultResourceBundle;
+ /**
+ * Prefix, das beim Suchen im alternativen Resource-Bundle jedem Key
+ * vorangestellt wird.
+ */
+ private String keyPrefix = "";
+ /**
+ * Flag, ob fehlende Ressourcen ignoriert werden, oder mit einer
+ * {@link MissingResourceException} behandelt werden.
+ */
+ private boolean ignoreMissingResource = false;
+ /**
+ * Wenn fehlende Ressourcen ignoriert werden, liefert
+ * {@link #getObject(String)} den Wert {@code null}.
+ * {@link #getString(String)} liefert den in dieser Variable hinterlegten
+ * Alternativ-String.
+ */
+ private String missingResourceString = null;
+ /**
+ * Sprache, die durch das Root-Bundle (Fallback-Bundle) dargestellt wird.
+ * Nur zu Informationszwecken!
+ */
+ private Locale rootLocale = null;
- /**
- * Erzeugt neuen Resource-Provider mit dem Namen "ResourceBundle".
- * Fehlende Ressourcen werden ignoriert und mit {@code null} oder MISSING_RESOURCE_STRING ("???")
- * als Alternativ-String behandelt.
- * @param defaultResourceBundle Name des Standard Resource-Bundle
- * @param rootLocale Sprache des Root-Bundles
- */
- public ResourceProvider(Class clazz, Locale rootLocale) {
- this(clazz, rootLocale, true);
- }
+ /**
+ * Erzeugt neuen Resource-Provider mit dem Namen "ResourceBundle". Fehlende
+ * Ressourcen werden ignoriert und mit {@code null} oder
+ * MISSING_RESOURCE_STRING ("???") als Alternativ-String behandelt.
+ *
+ * @param defaultResourceBundle
+ * Name des Standard Resource-Bundle
+ * @param rootLocale
+ * Sprache des Root-Bundles
+ */
+ public ResourceProvider(Class clazz, Locale rootLocale) {
+ this(clazz, rootLocale, true);
+ }
- /**
- * Erzeugt neuen Resource-Provider mit dem Namen "ResourceBundle".
- * Wenn fehlende Ressourcen ignoriert werden, wird MISSING_RESOURCE_STRING ("???") als Alternativ-String
- * verwendet.
- * @param clazz Bestimmt das Package in dem das Bundle "RessourceBundle"
- * gesucht wird
- * @param rootLocale Sprache des Root-Bundles
- * @param ignoreMissingResource bestimmt, ob fehlende Ressourcen ignoriert werden
- * oder mit einer {@link MissingResourceException}
- * behandelt werden
- */
- public ResourceProvider(Class clazz, Locale rootLocale, boolean ignoreMissingResource) {
- this(clazz,rootLocale,ignoreMissingResource,MISSING_RESOURCE_STRING);
- }
+ /**
+ * Erzeugt neuen Resource-Provider mit dem Namen "ResourceBundle". Wenn
+ * fehlende Ressourcen ignoriert werden, wird MISSING_RESOURCE_STRING
+ * ("???") als Alternativ-String verwendet.
+ *
+ * @param clazz
+ * Bestimmt das Package in dem das Bundle "RessourceBundle"
+ * gesucht wird
+ * @param rootLocale
+ * Sprache des Root-Bundles
+ * @param ignoreMissingResource
+ * bestimmt, ob fehlende Ressourcen ignoriert werden oder mit
+ * einer {@link MissingResourceException} behandelt werden
+ */
+ public ResourceProvider(Class clazz, Locale rootLocale,
+ boolean ignoreMissingResource) {
+ this(clazz, rootLocale, ignoreMissingResource, MISSING_RESOURCE_STRING);
+ }
- /**
- * Erzeugt neuen Resource-Provider mit dem Namen "ResourceBundle".
- * @param clazz Bestimmt das Package in dem das Bundle "RessourceBundle"
- * gesucht wird
- * @param rootLocale Sprache des Root-Bundles
- * @param ignoreMissingResource bestimmt, ob fehlende Ressourcen ignoriert werden
- * oder mit einer {@link MissingResourceException}
- * behandelt werden
- * @param missingResourceString Alternativ-String der - wenn fehlende Ressourcen
- * ignoriert werden - von {@link #getString(String)}
- * zurueckgegeben wird
- */
- public ResourceProvider(Class clazz, Locale rootLocale, boolean ignoreMissingResource, String missingResourceString) {
- this(clazz.getPackage().getName()+".ResourceBundle",rootLocale,ignoreMissingResource,missingResourceString);
- }
+ /**
+ * Erzeugt neuen Resource-Provider mit dem Namen "ResourceBundle".
+ *
+ * @param clazz
+ * Bestimmt das Package in dem das Bundle "RessourceBundle"
+ * gesucht wird
+ * @param rootLocale
+ * Sprache des Root-Bundles
+ * @param ignoreMissingResource
+ * bestimmt, ob fehlende Ressourcen ignoriert werden oder mit
+ * einer {@link MissingResourceException} behandelt werden
+ * @param missingResourceString
+ * Alternativ-String der - wenn fehlende Ressourcen ignoriert
+ * werden - von {@link #getString(String)} zurueckgegeben wird
+ */
+ public ResourceProvider(Class clazz, Locale rootLocale,
+ boolean ignoreMissingResource, String missingResourceString) {
+ this(clazz.getPackage().getName() + ".ResourceBundle", rootLocale,
+ ignoreMissingResource, missingResourceString);
+ }
- /**
- * Erzeugt neuen Resource-Provider.
- * Fehlende Ressourcen werden ignoriert und mit {@code null} oder MISSING_RESOURCE_STRING ("???")
- * als Alternativ-String behandelt.
- * @param defaultResourceBundle Name des Standard Resource-Bundle
- * @param rootLocale Sprache des Root-Bundles
- */
- public ResourceProvider(String defaultResourceBundle, Locale rootLocale) {
- this(defaultResourceBundle,rootLocale,true);
- }
+ /**
+ * Erzeugt neuen Resource-Provider. Fehlende Ressourcen werden ignoriert und
+ * mit {@code null} oder MISSING_RESOURCE_STRING ("???") als
+ * Alternativ-String behandelt.
+ *
+ * @param defaultResourceBundle
+ * Name des Standard Resource-Bundle
+ * @param rootLocale
+ * Sprache des Root-Bundles
+ */
+ public ResourceProvider(String defaultResourceBundle, Locale rootLocale) {
+ this(defaultResourceBundle, rootLocale, true);
+ }
- /**
- * Erzeugt neuen Resource-Provider. Wenn fehlende Ressourcen
- * ignoriert werden, wird MISSING_RESOURCE_STRING ("???") als Alternativ-String verwendet.
- * @param defaultResourceBundle Name des Standard Resource-Bundle
- * @param rootLocale Sprache des Root-Bundles
- * @param ignoreMissingResource bestimmt, ob fehlende Ressourcen ignoriert werden
- * oder mit einer {@link MissingResourceException}
- * behandelt werden
- */
- public ResourceProvider(String defaultResourceBundle, Locale rootLocale, boolean ignoreMissingResource) {
- this(defaultResourceBundle,rootLocale,ignoreMissingResource,MISSING_RESOURCE_STRING);
- }
+ /**
+ * Erzeugt neuen Resource-Provider. Wenn fehlende Ressourcen ignoriert
+ * werden, wird MISSING_RESOURCE_STRING ("???") als Alternativ-String
+ * verwendet.
+ *
+ * @param defaultResourceBundle
+ * Name des Standard Resource-Bundle
+ * @param rootLocale
+ * Sprache des Root-Bundles
+ * @param ignoreMissingResource
+ * bestimmt, ob fehlende Ressourcen ignoriert werden oder mit
+ * einer {@link MissingResourceException} behandelt werden
+ */
+ public ResourceProvider(String defaultResourceBundle, Locale rootLocale,
+ boolean ignoreMissingResource) {
+ this(defaultResourceBundle, rootLocale, ignoreMissingResource,
+ MISSING_RESOURCE_STRING);
+ }
- /**
- * Erzeugt neuen Resource-Provider.
- * @param defaultResourceBundle Name des Standard Resource-Bundle
- * @param rootLocale Sprache des Root-Bundles
- * @param ignoreMissingResource bestimmt, ob fehlende Ressourcen ignoriert werden
- * oder mit einer {@link MissingResourceException}
- * behandelt werden
- * @param missingResourceString Alternativ-String der - wenn fehlende Ressourcen
- * ignoriert werden - von {@link #getString(String)}
- * zurueckgegeben wird
- */
- public ResourceProvider(String defaultResourceBundle, Locale rootLocale, boolean ignoreMissingResource, String missingResourceString) {
- this.defaultResourceBundle = defaultResourceBundle;
- this.rootLocale = rootLocale;
- this.resourceBundle = null;
- this.ignoreMissingResource = ignoreMissingResource;
- this.missingResourceString = missingResourceString;
- // Registrieren des neuen ResourceProvider
- RESOURCE_BUNDLES.add(this);
- }
+ /**
+ * Erzeugt neuen Resource-Provider.
+ *
+ * @param defaultResourceBundle
+ * Name des Standard Resource-Bundle
+ * @param rootLocale
+ * Sprache des Root-Bundles
+ * @param ignoreMissingResource
+ * bestimmt, ob fehlende Ressourcen ignoriert werden oder mit
+ * einer {@link MissingResourceException} behandelt werden
+ * @param missingResourceString
+ * Alternativ-String der - wenn fehlende Ressourcen ignoriert
+ * werden - von {@link #getString(String)} zurueckgegeben wird
+ */
+ public ResourceProvider(String defaultResourceBundle, Locale rootLocale,
+ boolean ignoreMissingResource, String missingResourceString) {
+ this.defaultResourceBundle = defaultResourceBundle;
+ this.rootLocale = rootLocale;
+ this.resourceBundle = null;
+ this.ignoreMissingResource = ignoreMissingResource;
+ this.missingResourceString = missingResourceString;
+ // Registrieren des neuen ResourceProvider
+ RESOURCE_BUNDLES.add(this);
+ }
- /**
- * Liefert den Namen des Bundles.
- * @see #getBundleName()
- */
- public String toString() {
- return getBundleName();
- }
+ /**
+ * Liefert den Namen des Bundles.
+ *
+ * @see #getBundleName()
+ */
+ public String toString() {
+ return getBundleName();
+ }
- /**
- * Liefert alle Keys unter denen eine Ressource hinterlegt ist.
- */
- public SortedSet<String> getKeys() {
- String prefix = (keyPrefix != null) ? keyPrefix.trim() : "";
- if ( !keyPrefix.equals("") )
- prefix += ".";
+ /**
+ * Liefert alle Keys unter denen eine Ressource hinterlegt ist.
+ */
+ public SortedSet<String> getKeys() {
+ String prefix = (keyPrefix != null) ? keyPrefix.trim() : "";
+ if (!keyPrefix.equals(""))
+ prefix += ".";
- final SortedSet<String> keys = new TreeSet<String>();
- // Alle Keys aus dem Alternativ-Bundle in die Key-Menge aufnehmen, die
- // mit dem Preafix beginnen
- try {
- if ( resourceBundle != null )
- for ( final String key : ResourceBundle.getBundle(resourceBundle).keySet() )
- if ( key.startsWith(prefix) )
- keys.add( key.substring(prefix.length()) );
- } catch (final MissingResourceException err) {
- // Es gibt kein Root-Bundle fuer das Alternativ-Bundle
- // --> Keys im Alternativ-Bundle ignorieren
- }
- // Alle Keys aus dem Standard-Bundle um das Praefix erweitern un
- // in die Key-Menge aufnehmen
- for ( final String key : ResourceBundle.getBundle(defaultResourceBundle).keySet() )
- keys.add(key);
+ final SortedSet<String> keys = new TreeSet<String>();
+ // Alle Keys aus dem Alternativ-Bundle in die Key-Menge aufnehmen, die
+ // mit dem Preafix beginnen
+ try {
+ if (resourceBundle != null)
+ for (final String key : ResourceBundle
+ .getBundle(resourceBundle).keySet())
+ if (key.startsWith(prefix))
+ keys.add(key.substring(prefix.length()));
+ } catch (final MissingResourceException err) {
+ // Es gibt kein Root-Bundle fuer das Alternativ-Bundle
+ // --> Keys im Alternativ-Bundle ignorieren
+ }
+ // Alle Keys aus dem Standard-Bundle um das Praefix erweitern un
+ // in die Key-Menge aufnehmen
+ for (final String key : ResourceBundle.getBundle(defaultResourceBundle)
+ .keySet())
+ keys.add(key);
- return keys;
- }
+ return keys;
+ }
- /**
- * Prueft, ob fehlende Ressourcen ignoriert werden (mit {@code null} oder
- * Alternativ-String) oder ob eine {@link MissingResourceException}
- * geworfen wird.
- */
- public boolean isMissingResourceIgnored() {
- return ignoreMissingResource;
- }
+ /**
+ * Prueft, ob fehlende Ressourcen ignoriert werden (mit {@code null} oder
+ * Alternativ-String) oder ob eine {@link MissingResourceException} geworfen
+ * wird.
+ */
+ public boolean isMissingResourceIgnored() {
+ return ignoreMissingResource;
+ }
- /**
- * Bestimmt, ob fehlende Ressourcen ignoriert werden (mit {@code null} oder
- * Alternativ-String) oder ob eine {@link MissingResourceException}
- * geworfen wird.
- */
- public void setIgnoreMissingResource(boolean ignoreMissingResource) {
- this.ignoreMissingResource = ignoreMissingResource;
- }
+ /**
+ * Bestimmt, ob fehlende Ressourcen ignoriert werden (mit {@code null} oder
+ * Alternativ-String) oder ob eine {@link MissingResourceException} geworfen
+ * wird.
+ */
+ public void setIgnoreMissingResource(boolean ignoreMissingResource) {
+ this.ignoreMissingResource = ignoreMissingResource;
+ }
- /**
- * Liefert den Alternativ-String, der beim Ignorieren fehlender
- * Ressourcen von {@link getString(String)} zurueckgegeben wird.
- */
- public String getMissingResourceString() {
- return missingResourceString;
- }
+ /**
+ * Liefert den Alternativ-String, der beim Ignorieren fehlender Ressourcen
+ * von {@link getString(String)} zurueckgegeben wird.
+ */
+ public String getMissingResourceString() {
+ return missingResourceString;
+ }
- /**
- * Setzt den Alternativ-String, der beim Ignorieren fehlender
- * Ressourcen von {@link getString(String)} zurueckgegeben wird.
- */
- public void setMissingResourceString(String missingResourceString) {
- this.missingResourceString = missingResourceString;
- }
+ /**
+ * Setzt den Alternativ-String, der beim Ignorieren fehlender Ressourcen von
+ * {@link getString(String)} zurueckgegeben wird.
+ */
+ public void setMissingResourceString(String missingResourceString) {
+ this.missingResourceString = missingResourceString;
+ }
- /**
- * Liefert ein Objekt aus dem Resource-Bundle. Wenn gesetzt, wird zunaechst im
- * alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die Ressource dort
- * nicht gefunden wird, wird auf das Standard-Bundle zurueckgegriffen.
- * Wenn die Suche (auch) dort nicht erfolgreich ist, wird je nach Einstellung
- * eine {@link MissingResourceException} geworfen oder {@code null} zurueck
- * gegeben.
- * @param key Key unter dem der String gesucht wird
- */
- public Object getObject(String key) {
- return getObject(key, null);
-// String primaryBundle = null;
-// String prefix = "";
-// // Wenn gesetzt, dann das alternative Bundle (mit Key-Prefix)
-// // verwenden. Ansonsten das Standard-Bundle ohne Prefix.
-// if ( resourceBundle != null ) {
-// primaryBundle = resourceBundle;
-// prefix = (keyPrefix != null && !keyPrefix.trim().equals("")) ? keyPrefix+"." : "";
-// } else {
-// primaryBundle = defaultResourceBundle;
-// prefix = "";
-// }
-//
-// try {
-// // Ressource im gesetzten Bundle suchen
-// return ResourceBundle.getBundle(primaryBundle).getObject(prefix+key);
-// } catch (MissingResourceException err) {
-// // Ressource im Standard-Bundle suchen
-// try {
-// return ResourceBundle.getBundle(defaultResourceBundle).getObject(key);
-// } catch (MissingResourceException err2) {
-// // Wenn Ressource auch im Standard-Bundle nicht vorhanden ist,
-// // Fehler werfen (oder ignorieren
-// if ( ignoreMissingResource ) {
-// LOGGER.warn("ResourceBundle "+primaryBundle+": "+err.getMessage());
-// return null;
-// }
-// throw err2;
-// }
-// }
- }
-
-
- /**
- * Liefert ein Objekt aus dem Resource-Bundle. Wenn gesetzt, wird zunaechst im
- * alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die Ressource dort
- * nicht gefunden wird, wird auf das Standard-Bundle zurueckgegriffen.
- * Wenn die Suche (auch) dort nicht erfolgreich ist, wird je nach Einstellung
- * eine {@link MissingResourceException} geworfen oder {@code null} zurueck
- * gegeben.
- * @param requestedLocale Wenn <code>null</code>, dann wird die im System verwendete
- * default {@link Locale} benutzt. Sonst wir versucht der String für
- * diese Sprache zurückzugeben.
- * @param key Key unter dem der String gesucht wird
- */
- public Object getObject(final String key, Locale requestedLocale) {
- String primaryBundle = null;
- String prefix = "";
-
- if (requestedLocale == null) {
- requestedLocale = Locale.getDefault();
- }
-
- // Wenn gesetzt, dann das alternative Bundle (mit Key-Prefix)
- // verwenden. Ansonsten das Standard-Bundle ohne Prefix.
- if ( resourceBundle != null ) {
- primaryBundle = resourceBundle;
- prefix = (keyPrefix != null && !keyPrefix.trim().equals("")) ? keyPrefix+"." : "";
- } else {
- primaryBundle = defaultResourceBundle;
- prefix = "";
- }
+ /**
+ * Liefert ein Objekt aus dem Resource-Bundle. Wenn gesetzt, wird zunaechst
+ * im alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die Ressource dort
+ * nicht gefunden wird, wird auf das Standard-Bundle zurueckgegriffen. Wenn
+ * die Suche (auch) dort nicht erfolgreich ist, wird je nach Einstellung
+ * eine {@link MissingResourceException} geworfen oder {@code null} zurueck
+ * gegeben.
+ *
+ * @param key
+ * Key unter dem der String gesucht wird
+ */
+ public Object getObject(String key) {
+ return getObject(key, null);
+ // String primaryBundle = null;
+ // String prefix = "";
+ // // Wenn gesetzt, dann das alternative Bundle (mit Key-Prefix)
+ // // verwenden. Ansonsten das Standard-Bundle ohne Prefix.
+ // if ( resourceBundle != null ) {
+ // primaryBundle = resourceBundle;
+ // prefix = (keyPrefix != null && !keyPrefix.trim().equals("")) ?
+ // keyPrefix+"." : "";
+ // } else {
+ // primaryBundle = defaultResourceBundle;
+ // prefix = "";
+ // }
+ //
+ // try {
+ // // Ressource im gesetzten Bundle suchen
+ // return ResourceBundle.getBundle(primaryBundle).getObject(prefix+key);
+ // } catch (MissingResourceException err) {
+ // // Ressource im Standard-Bundle suchen
+ // try {
+ // return
+ // ResourceBundle.getBundle(defaultResourceBundle).getObject(key);
+ // } catch (MissingResourceException err2) {
+ // // Wenn Ressource auch im Standard-Bundle nicht vorhanden ist,
+ // // Fehler werfen (oder ignorieren
+ // if ( ignoreMissingResource ) {
+ // LOGGER.warn("ResourceBundle "+primaryBundle+": "+err.getMessage());
+ // return null;
+ // }
+ // throw err2;
+ // }
+ // }
+ }
- try {
- // Ressource im gesetzten Bundle suchen
- final ResourceBundle pBundle = ResourceBundle.getBundle(primaryBundle, requestedLocale);
- return pBundle.getObject(prefix+key);
- } catch (final MissingResourceException err) {
- // Ressource im Standard-Bundle suchen
- try {
- return ResourceBundle.getBundle(defaultResourceBundle, requestedLocale).getObject(key);
- } catch (final MissingResourceException err2) {
- // Wenn Ressource auch im Standard-Bundle nicht vorhanden ist,
- // Fehler werfen (oder ignorieren)
- if ( ignoreMissingResource ) {
- LOGGER.warn("ResourceBundle "+primaryBundle+": "+err.getMessage()+" in");
- LangUtil.logDebugLastStackTraceClasses(LOGGER, err.getStackTrace(), 4);
- return null;
- }
- throw err2;
- }
- }
- }
-
+ /**
+ * Liefert ein Objekt aus dem Resource-Bundle. Wenn gesetzt, wird zunaechst
+ * im alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die Ressource dort
+ * nicht gefunden wird, wird auf das Standard-Bundle zurueckgegriffen. Wenn
+ * die Suche (auch) dort nicht erfolgreich ist, wird je nach Einstellung
+ * eine {@link MissingResourceException} geworfen oder {@code null} zurueck
+ * gegeben.
+ *
+ * @param requestedLocale
+ * Wenn <code>null</code>, dann wird die im System verwendete
+ * default {@link Locale} benutzt. Sonst wir versucht der String
+ * für diese Sprache zurückzugeben.
+ * @param key
+ * Key unter dem der String gesucht wird
+ */
+ public Object getObject(final String key, Locale requestedLocale) {
+ String primaryBundle = null;
+ String prefix = "";
- /**
- * Liefert einen String aus dem Resource-Bundle. Wenn gesetzt, wird zunaechst im
- * alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die Ressource dort
- * nicht gefunden wird, wird auf das Standard-Bundle zurueckgegriffen.
- * Wenn die Suche (auch) dort nicht erfolgreich ist, wird je nach Einstellung
- * eine {@link MissingResourceException} geworfen oder der Alternativ-String
- * zurueck gegeben.
- * @param key Key unter dem der String gesucht wird
- * @param replParams Strings/Zahlen, mit denen die im String enthaltenen
- * Wildcards <code>${0}</code>, <code>${1}</code>, <code>${2}</code>, usw.
- * ersetzt werden (sehr hilfreich z.B. fuer lokalisierte
- * Fehlermeldungen)
- */
- public String getString(String key, Object... replParams) {
-// Object object = getObject(key);
-// String string = object != null ? object.toString() : missingResourceString;
-// for (int i=0; i<replParams.length; i++)
-// string = string.replaceAll("\\$\\{"+i+"\\}", replParams[i] != null ? replParams[i].toString() : "null");
-// return string;
- return getString(key, (Locale)null, replParams);
- }
-
+ if (requestedLocale == null) {
+ requestedLocale = Locale.getDefault();
+ }
- /**
- * Liefert einen String aus dem Resource-Bundle. Wenn gesetzt, wird zunaechst im
- * alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die Ressource dort
- * nicht gefunden wird, wird auf das Standard-Bundle zurueckgegriffen.
- * Wenn die Suche (auch) dort nicht erfolgreich ist, wird je nach Einstellung
- * eine {@link MissingResourceException} geworfen oder der Alternativ-String
- * zurueck gegeben.
- * @param key Key unter dem der String gesucht wird
- * @param requestedLocale Wenn <code>null</code>, dann wird die im System verwendete
- * default {@link Locale} benutzt. Sonst wir versucht der String für
- * diese Sprache zurückzugeben.
- * @param replParams Strings/Zahlen, mit denen die im String enthaltenen
- * Wildcards <code>${0}</code>, <code>${1}</code>, <code>${2}</code>, usw.
- * ersetzt werden (sehr hilfreich z.B. fuer lokalisierte
- * Fehlermeldungen)
- */
- public String getString(final String key, final Locale requestedLocale, final Object... replParams) {
- final Object object = getObject(key, requestedLocale);
- String string = object != null ? object.toString() : missingResourceString;
- try {
- for (int i=0; i<replParams.length; i++)
- string = string.replaceAll("\\$\\{"+i+"\\}", replParams[i] != null ? replParams[i].toString() : "null");
- } catch (Throwable err) {
- LOGGER.error("Could not replace parameters in resource string '"+string+"': "+LangUtil.stringConcatWithSep(", ","'",replParams));
- }
- return string;
- }
+ // Wenn gesetzt, dann das alternative Bundle (mit Key-Prefix)
+ // verwenden. Ansonsten das Standard-Bundle ohne Prefix.
+ if (resourceBundle != null) {
+ primaryBundle = resourceBundle;
+ prefix = (keyPrefix != null && !keyPrefix.trim().equals("")) ? keyPrefix
+ + "."
+ : "";
+ } else {
+ primaryBundle = defaultResourceBundle;
+ prefix = "";
+ }
- /**
- * Setzt ein alternatives Resource-Bundle, in welchem als erstes nach
- * einer Ressource gesucht wird. Dieses sollte die gleiche Fall-Back-Sprache
- * haben, wie das Standard-Bundle.
- * @param bundle String
- * @param keyPrefix Prefix, welches bei der Suche im alternativen Bundle
- * automatisch jedem Key vorangestellt wird
- */
- public void resetResourceBundle(String bundle, String keyPrefix) {
- this.resourceBundle = bundle;
- this.keyPrefix = keyPrefix;
- }
+ try {
+ // Ressource im gesetzten Bundle suchen
+ final ResourceBundle pBundle = ResourceBundle.getBundle(
+ primaryBundle, requestedLocale);
+ return pBundle.getObject(prefix + key);
+ } catch (final MissingResourceException err) {
+ // Ressource im Standard-Bundle suchen
+ try {
+ return ResourceBundle.getBundle(defaultResourceBundle,
+ requestedLocale).getObject(key);
+ } catch (final MissingResourceException err2) {
+ // Wenn Ressource auch im Standard-Bundle nicht vorhanden ist,
+ // Fehler werfen (oder ignorieren)
+ if (ignoreMissingResource) {
+ LOGGER.warn("ResourceBundle " + primaryBundle + ": "
+ + err.getMessage() + " in");
+ LangUtil.logDebugLastStackTraceClasses(LOGGER, err
+ .getStackTrace(), 4);
+ return null;
+ }
+ throw err2;
+ }
+ }
+ }
- /**
- * Setzt ein alternatives Resource-Bundle, in welchem als erstes nach
- * einer Ressource gesucht wird. Dieses sollte die gleiche Fall-Back-Sprache
- * haben, wie das Standard-Bundle. Ein Key-Prefix wird nicht verwendet.
- * @param bundle String
- */
- public void resetResourceBundle(String bundle) {
- resetResourceBundle(bundle,null);
- }
+ /**
+ * Liefert einen String aus dem Resource-Bundle. Wenn gesetzt, wird
+ * zunaechst im alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die
+ * Ressource dort nicht gefunden wird, wird auf das Standard-Bundle
+ * zurueckgegriffen. Wenn die Suche (auch) dort nicht erfolgreich ist, wird
+ * je nach Einstellung eine {@link MissingResourceException} geworfen oder
+ * der Alternativ-String zurueck gegeben.
+ *
+ * @param key
+ * Key unter dem der String gesucht wird
+ * @param replParams
+ * Strings/Zahlen, mit denen die im String enthaltenen Wildcards
+ * <code>${0}</code>, <code>${1}</code>, <code>${2}</code>, usw.
+ * ersetzt werden (sehr hilfreich z.B. fuer lokalisierte
+ * Fehlermeldungen)
+ */
+ public String getString(String key, Object... replParams) {
+ // Object object = getObject(key);
+ // String string = object != null ? object.toString() :
+ // missingResourceString;
+ // for (int i=0; i<replParams.length; i++)
+ // string = string.replaceAll("\\$\\{"+i+"\\}", replParams[i] != null ?
+ // replParams[i].toString() : "null");
+ // return string;
+ return getString(key, (Locale) null, replParams);
+ }
- /**
- * Entfernt das alternative Resource-Bundle, so dass im folgenden immer
- * direkt im Standard-Bundle gesucht wird.
- */
- public void resetResourceBundle() {
- resetResourceBundle(null,null);
- }
+ /**
+ * Liefert einen String aus dem Resource-Bundle. Wenn gesetzt, wird
+ * zunaechst im alternativen Bundle (ggf. mit Prefix) gesucht. Wenn die
+ * Ressource dort nicht gefunden wird, wird auf das Standard-Bundle
+ * zurueckgegriffen. Wenn die Suche (auch) dort nicht erfolgreich ist, wird
+ * je nach Einstellung eine {@link MissingResourceException} geworfen oder
+ * der Alternativ-String zurueck gegeben.
+ *
+ * @param key
+ * Key unter dem der String gesucht wird
+ * @param requestedLocale
+ * Wenn <code>null</code>, dann wird die im System verwendete
+ * default {@link Locale} benutzt. Sonst wir versucht der String
+ * für diese Sprache zurückzugeben.
+ * @param replParams
+ * Strings/Zahlen, mit denen die im String enthaltenen Wildcards
+ * <code>${0}</code>, <code>${1}</code>, <code>${2}</code>, usw.
+ * ersetzt werden (sehr hilfreich z.B. fuer lokalisierte
+ * Fehlermeldungen)
+ */
+ public String getString(final String key, final Locale requestedLocale,
+ final Object... replParams) {
+ final Object object = getObject(key, requestedLocale);
+ String string = object != null ? object.toString()
+ : missingResourceString;
+ try {
+ for (int i = 0; i < replParams.length; i++)
+ string = string.replaceAll("\\$\\{" + i + "\\}",
+ replParams[i] != null ? replParams[i].toString()
+ : "null");
+ } catch (Throwable err) {
+ LOGGER.error("Could not replace parameters in resource string '"
+ + string + "': "
+ + LangUtil.stringConcatWithSep(", ", "'", replParams));
+ }
+ return string;
+ }
- /**
- * Liefert das Prefix, das im Alternativ-Bundle jedem Key vorangestellt
- * ist.
- */
- public String getKeyPrefix() {
- return keyPrefix;
- }
+ /**
+ * Setzt ein alternatives Resource-Bundle, in welchem als erstes nach einer
+ * Ressource gesucht wird. Dieses sollte die gleiche Fall-Back-Sprache
+ * haben, wie das Standard-Bundle.
+ *
+ * @param bundle
+ * String
+ * @param keyPrefix
+ * Prefix, welches bei der Suche im alternativen Bundle
+ * automatisch jedem Key vorangestellt wird
+ */
+ public void resetResourceBundle(String bundle, String keyPrefix) {
+ this.resourceBundle = bundle;
+ this.keyPrefix = keyPrefix;
+ }
- /**
- * Liefert den Namen des Resource-Bundle. Wenn ein Alternativ-Bundle gesetzt
- * wurde, wird dessen Name zurueckgegeben.
- */
- public String getBundleName() {
- return resourceBundle == null ? defaultResourceBundle : resourceBundle;
- }
+ /**
+ * Setzt ein alternatives Resource-Bundle, in welchem als erstes nach einer
+ * Ressource gesucht wird. Dieses sollte die gleiche Fall-Back-Sprache
+ * haben, wie das Standard-Bundle. Ein Key-Prefix wird nicht verwendet.
+ *
+ * @param bundle
+ * String
+ */
+ public void resetResourceBundle(String bundle) {
+ resetResourceBundle(bundle, null);
+ }
- /**
- * Liefert den Namen des Standard-Resource-Bundle.
- */
- public String getDefaultBundleName() {
- return defaultResourceBundle;
- }
+ /**
+ * Entfernt das alternative Resource-Bundle, so dass im folgenden immer
+ * direkt im Standard-Bundle gesucht wird.
+ */
+ public void resetResourceBundle() {
+ resetResourceBundle(null, null);
+ }
- /**
- * Liefert die Standard-Sprache des Resource-Bundles ("Fall-Back").
- */
- public Locale getRootLocale() {
- return rootLocale;
- }
+ /**
+ * Liefert das Prefix, das im Alternativ-Bundle jedem Key vorangestellt ist.
+ */
+ public String getKeyPrefix() {
+ return keyPrefix;
+ }
- /**
- * Liefert alle Sprachen, die der {@code ResourceProvider} zur Verfuegung
- * stellt.
- * @param inclRootLocale wenn {@link false} wird die "Fall-Back"-Sprache
- * nicht beruecksichtigt
- */
- public Set<Locale> getAvailableLocales(boolean inclRootLocale) {
- return getAvailableLocales(this,inclRootLocale);
- }
+ /**
+ * Liefert den Namen des Resource-Bundle. Wenn ein Alternativ-Bundle gesetzt
+ * wurde, wird dessen Name zurueckgegeben.
+ */
+ public String getBundleName() {
+ return resourceBundle == null ? defaultResourceBundle : resourceBundle;
+ }
+ /**
+ * Liefert den Namen des Standard-Resource-Bundle.
+ */
+ public String getDefaultBundleName() {
+ return defaultResourceBundle;
+ }
- /**
- * Liefert alle Sprachen, die ein {@link ResourceProvider} zur Verfuegung
- * stellt.
- * @param resourceProvider ResourceProvider
- * @param inclRootLocale wenn {@link false} wird die "Fall-Back"-Sprache
- * nicht beruecksichtigt
- */
- public static Set<Locale> getAvailableLocales(ResourceProvider resourceProvider, boolean inclRootLocale) {
- Set<Locale> avLocales = new TreeSet<Locale>(new LocaleComparator(true));
- if ( inclRootLocale && resourceProvider.getRootLocale() != null )
- avLocales.add( resourceProvider.getRootLocale() );
+ /**
+ * Liefert die Standard-Sprache des Resource-Bundles ("Fall-Back").
+ */
+ public Locale getRootLocale() {
+ return rootLocale;
+ }
- // leider sehe ich keine andere Moeglichkeit, als "alle Sprachen"
- // durchzuprobieren...
- for ( Locale l : Locale.getAvailableLocales() ) {
- if ( checkLocaleAvailable( resourceProvider.getDefaultBundleName(),l ) ||
- checkLocaleAvailable( resourceProvider.getBundleName(),l ) )
- avLocales.add(l);
- }
- return avLocales;
- }
+ /**
+ * Liefert alle Sprachen, die der {@code ResourceProvider} zur Verfuegung
+ * stellt.
+ *
+ * @param inclRootLocale
+ * wenn {@link false} wird die "Fall-Back"-Sprache nicht
+ * beruecksichtigt
+ */
+ public Set<Locale> getAvailableLocales(boolean inclRootLocale) {
+ return getAvailableLocales(this, inclRootLocale);
+ }
- private static boolean checkLocaleAvailable(String bundleName, Locale l) {
- try {
- return l != null && l.equals( ResourceBundle.getBundle(bundleName,l).getLocale() );
- } catch (Exception err) {
- }
- return false;
- }
+ /**
+ * Liefert alle Sprachen, die ein {@link ResourceProvider} zur Verfuegung
+ * stellt.
+ *
+ * @param resourceProvider
+ * ResourceProvider
+ * @param inclRootLocale
+ * wenn {@link false} wird die "Fall-Back"-Sprache nicht
+ * beruecksichtigt
+ */
+ public static Set<Locale> getAvailableLocales(
+ ResourceProvider resourceProvider, boolean inclRootLocale) {
+ Set<Locale> avLocales = new TreeSet<Locale>(new LocaleComparator(true));
+ if (inclRootLocale && resourceProvider.getRootLocale() != null)
+ avLocales.add(resourceProvider.getRootLocale());
- /**
- * Liefert die Property-Datei ({@code .properties}) fuer ein Resource Bundle.
- * @param provider Resource-Provider fuer den das neue Bundle angelegt wird
- * @param l Sprache des neuen Bundles
- * @exception URISyntaxException wenn bei der Ermittlung des Datei-Pfads
- * ein Fehler auftritt
- */
- public static File getPropertyFile(ResourceProvider provider, Locale l) throws URISyntaxException{
- String bundlePath = provider.getBundleName();
- int lastDotIdx = bundlePath.lastIndexOf(".");
- String bundleName = bundlePath.substring(lastDotIdx+1);
- String bundlePackage = bundlePath.substring(0, lastDotIdx).replace(".","/");
- URL bundlePackageURL = ClassLoader.getSystemResource(bundlePackage);
- String newBundleName = bundleName + "_" + l.toString() + ".properties";
- File newBundleFile = new File(new File(bundlePackageURL.toURI()),newBundleName);
- return newBundleFile;
- }
+ // leider sehe ich keine andere Moeglichkeit, als "alle Sprachen"
+ // durchzuprobieren...
+ for (Locale l : Locale.getAvailableLocales()) {
+ if (checkLocaleAvailable(resourceProvider.getDefaultBundleName(), l)
+ || checkLocaleAvailable(resourceProvider.getBundleName(), l))
+ avLocales.add(l);
+ }
+ return avLocales;
+ }
- /**
- * Erzeugt eine Property-Datei ({@code .properties}) fuer ein Resource Bundle.
- * In dieser sind bereits alle Keys des Bundles enthalten und mit einem Dummy-Wert
- * vorbelegt.
- * @param provider Resource-Provider fuer den das neue Bundle angelegt wird
- * @param l Sprache des neuen Bundles
- * @param append wenn {@code true}, wird eine bestehende Datei erweitert,
- * andernfalls ueberschrieben
- */
- public static void createPropertyFile(ResourceProvider provider, Locale l, boolean append) throws URISyntaxException, FileNotFoundException {
- File newBundleFile = getPropertyFile(provider,l);
- PrintWriter out = new PrintWriter( new FileOutputStream(newBundleFile, append) );
- // Wenn Datei neu angelegt wird, wird ein Header erstellt
- if ( !newBundleFile.exists() || newBundleFile.length() == 0 ) {
- out.println("# ----------------------------------------------------------------------------------");
- out.println("# LANGUAGE: "+l.toString()+" = "+l.getDisplayLanguage());
- out.println("# ----------------------------------------------------------------------------------");
- }
- out.println("# Original bundle: "+provider.getDefaultBundleName());
+ private static boolean checkLocaleAvailable(String bundleName, Locale l) {
+ try {
+ return l != null
+ && l.equals(ResourceBundle.getBundle(bundleName, l)
+ .getLocale());
+ } catch (Exception err) {
+ }
+ return false;
+ }
- // etwaiges Key-Prefix ermitteln
- String prefix = provider.getKeyPrefix();
- if ( prefix == null )
- prefix = "";
- if ( !prefix.equals("") )
- prefix += ".";
+ /**
+ * Liefert die Property-Datei ({@code .properties}) fuer ein Resource
+ * Bundle.
+ *
+ * @param provider
+ * Resource-Provider fuer den das neue Bundle angelegt wird
+ * @param l
+ * Sprache des neuen Bundles
+ * @exception URISyntaxException
+ * wenn bei der Ermittlung des Datei-Pfads ein Fehler
+ * auftritt
+ */
+ public static File getPropertyFile(ResourceProvider provider, Locale l)
+ throws URISyntaxException {
+ String bundlePath = provider.getBundleName();
+ int lastDotIdx = bundlePath.lastIndexOf(".");
+ String bundleName = bundlePath.substring(lastDotIdx + 1);
+ String bundlePackage = bundlePath.substring(0, lastDotIdx).replace(".",
+ "/");
+ URL bundlePackageURL = ClassLoader.getSystemResource(bundlePackage);
+ String newBundleName = bundleName + "_" + l.toString() + ".properties";
+ File newBundleFile = new File(new File(bundlePackageURL.toURI()),
+ newBundleName);
+ return newBundleFile;
+ }
- // Keys mit Dummy-Werten in Datei schreiben
- for (String key : provider.getKeys())
- out.println(prefix+key+"=?"+l.toString()+"? "+provider.getString(key));
- out.println("# ----------------------------------------------------------------------------------");
- out.flush();
- out.close();
- }
+ /**
+ * Erzeugt eine Property-Datei ({@code .properties}) fuer ein Resource
+ * Bundle. In dieser sind bereits alle Keys des Bundles enthalten und mit
+ * einem Dummy-Wert vorbelegt.
+ *
+ * @param provider
+ * Resource-Provider fuer den das neue Bundle angelegt wird
+ * @param l
+ * Sprache des neuen Bundles
+ * @param append
+ * wenn {@code true}, wird eine bestehende Datei erweitert,
+ * andernfalls ueberschrieben
+ */
+ public static void createPropertyFile(ResourceProvider provider, Locale l,
+ boolean append) throws URISyntaxException, FileNotFoundException {
+ File newBundleFile = getPropertyFile(provider, l);
+ PrintWriter out = new PrintWriter(new FileOutputStream(newBundleFile,
+ append));
+ // Wenn Datei neu angelegt wird, wird ein Header erstellt
+ if (!newBundleFile.exists() || newBundleFile.length() == 0) {
+ out
+ .println("# ----------------------------------------------------------------------------------");
+ out.println("# LANGUAGE: " + l.toString() + " = "
+ + l.getDisplayLanguage());
+ out
+ .println("# ----------------------------------------------------------------------------------");
+ }
+ out.println("# Original bundle: " + provider.getDefaultBundleName());
+ // etwaiges Key-Prefix ermitteln
+ String prefix = provider.getKeyPrefix();
+ if (prefix == null)
+ prefix = "";
+ if (!prefix.equals(""))
+ prefix += ".";
+ // Keys mit Dummy-Werten in Datei schreiben
+ for (String key : provider.getKeys())
+ out.println(prefix + key + "=?" + l.toString() + "? "
+ + provider.getString(key));
+ out
+ .println("# ----------------------------------------------------------------------------------");
+ out.flush();
+ out.close();
+ }
+
+ /**
+ * Setzt alternative ResourceBundles für jeden bisher registrierten
+ * ResourceProvider. Das alternative Bundle wird ohne die Packagebezeichung
+ * im Classpath als Datei erwartet.
+ *
+ * @param prefix
+ * <code>null</code>
+ */
+ public static void resetAllRegisteredResourceBundles() {
+ // Enabling user-translated locales that are searched in the classpath
+ for (ResourceProvider rp : RESOURCE_BUNDLES) {
+ String filename = rp.getBundleName();
+ if (filename.contains("."))
+ filename = filename.substring(filename.lastIndexOf('.') + 1);
+ rp.resetResourceBundle(filename);
+ }
+ }
+ //
+ // /**
+ // * Setzt einen alternativen ResourceBundle für all bisher registrierten
+ // ResourceProviders.
+ // * @param bundle neue Bundle
+ // * @param prefix <code>null</code> oder prefix
+ // */
+ // public static void resetAllRegisteredResourceBundles(String bundle) {
+ // // Enabling user-translated locales that are searched in the classpath
+ // for (ResourceProvider rp : RESOURCE_BUNDLES) {
+ // rp.resetResourceBundle(bundle, rp.getBundleName());
+ // }
+ // }
+
}
More information about the Schmitzm-commits
mailing list