X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=base%2Fruntime%2Forg.argeo.eclipse.ui.rap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FThreadNLS.java;fp=base%2Fruntime%2Forg.argeo.eclipse.ui.rap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FThreadNLS.java;h=3bab4d99934caec0474eaffc038a27fd85afb248;hb=00474cf92c05359177aba1768bd2ef95a310afaf;hp=0000000000000000000000000000000000000000;hpb=82fc1287c13e9bd42b96af762a1c0f1549c82a4f;p=lgpl%2Fargeo-commons.git diff --git a/base/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ThreadNLS.java b/base/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ThreadNLS.java new file mode 100644 index 000000000..3bab4d999 --- /dev/null +++ b/base/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ThreadNLS.java @@ -0,0 +1,33 @@ +package org.argeo.eclipse.ui.specific; + +import org.eclipse.osgi.util.NLS; +import org.eclipse.rwt.RWT; + +/** NLS attached to a given thread */ +public class ThreadNLS extends InheritableThreadLocal { + public final static String DEFAULT_BUNDLE_LOCATION = "/properties/plugin"; + + private final String bundleLocation; + + private Class type; + private Boolean utf8 = false; + + public ThreadNLS(String bundleLocation, Class type, Boolean utf8) { + this.bundleLocation = bundleLocation; + this.type = type; + this.utf8 = utf8; + } + + public ThreadNLS(Class type) { + this(DEFAULT_BUNDLE_LOCATION, type, false); + } + + @SuppressWarnings("unchecked") + @Override + protected T initialValue() { + if (utf8) + return (T) RWT.NLS.getUTF8Encoded(bundleLocation, type); + else + return (T) RWT.NLS.getISO8859_1Encoded(bundleLocation, type); + } +}