Package org.eclipse.jgit.nls
Class NLS
- java.lang.Object
-
- org.eclipse.jgit.nls.NLS
-
public class NLS extends java.lang.Object
The purpose of this class is to provide NLS (National Language Support) configurable per thread.The
setLocale(Locale)
method is used to configure locale for the calling thread. The locale setting is thread inheritable. This means that a child thread will have the same locale setting as its creator thread until it changes it explicitly.Example of usage:
NLS.setLocale(Locale.GERMAN); TransportText t = NLS.getBundleFor(TransportText.class);
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.InheritableThreadLocal<NLS>
local
private java.util.Locale
locale
private java.util.Map<java.lang.Class,TranslationBundle>
map
static java.util.Locale
ROOT_LOCALE
The root locale constant.
-
Constructor Summary
Constructors Modifier Constructor Description private
NLS(java.util.Locale locale)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
clear()
Release resources held by NLSprivate <T extends TranslationBundle>
Tget(java.lang.Class<T> type)
static <T extends TranslationBundle>
TgetBundleFor(java.lang.Class<T> type)
Returns an instance of the translation bundle of the required type.static void
setLocale(java.util.Locale locale)
Sets the locale for the calling thread.private static NLS
useJVMDefaultInternal()
static void
useJVMDefaultLocale()
Sets the JVM default locale as the locale for the calling thread.
-
-
-
Field Detail
-
ROOT_LOCALE
public static final java.util.Locale ROOT_LOCALE
The root locale constant. It is defined here because the Locale.ROOT is not defined in Java 5
-
local
private static final java.lang.InheritableThreadLocal<NLS> local
-
locale
private final java.util.Locale locale
-
map
private final java.util.Map<java.lang.Class,TranslationBundle> map
-
-
Method Detail
-
setLocale
public static void setLocale(java.util.Locale locale)
Sets the locale for the calling thread.The
getBundleFor(Class)
method will honor this setting if it is supported by the provided resource bundle property files. Otherwise, it will use a fall back locale as described in theTranslationBundle
- Parameters:
locale
- the preferred locale
-
useJVMDefaultLocale
public static void useJVMDefaultLocale()
Sets the JVM default locale as the locale for the calling thread.Semantically this is equivalent to
NLS.setLocale(Locale.getDefault())
.
-
useJVMDefaultInternal
private static NLS useJVMDefaultInternal()
-
getBundleFor
public static <T extends TranslationBundle> T getBundleFor(java.lang.Class<T> type)
Returns an instance of the translation bundle of the required type. All public String fields of the bundle instance will get their values injected as described in theTranslationBundle
.- Parameters:
type
- required bundle type- Returns:
- an instance of the required bundle type
- Throws:
TranslationBundleLoadingException
- seeTranslationBundleLoadingException
TranslationStringMissingException
- seeTranslationStringMissingException
-
clear
public static void clear()
Release resources held by NLS- Since:
- 5.8
-
get
private <T extends TranslationBundle> T get(java.lang.Class<T> type)
-
-