Default TextProvider implementation.
| Method from com.opensymphony.xwork2.TextProviderSupport Detail: |
public String getText(String key) {
return getText(key, key, Collections.EMPTY_LIST);
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. |
public String getText(String key,
String defaultValue) {
return getText(key, defaultValue, Collections.EMPTY_LIST);
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. If no text is found for this text name, the default value is returned. |
public String getText(String key,
List args) {
return getText(key, key, args);
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. If no text is found for this text name, the default value is returned. |
public String getText(String key,
String[] args) {
return getText(key, key, args);
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. If no text is found for this text name, the default value is returned. |
public String getText(String key,
String defaultValue,
String arg) {
List args = new ArrayList();
args.add(arg);
return getText(key, defaultValue, args);
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. If no text is found for this text name, the default value is returned. |
public String getText(String key,
String defaultValue,
List args) {
Object[] argsArray = ((args != null && !args.equals(Collections.EMPTY_LIST)) ? args.toArray() : null);
if (clazz != null) {
return LocalizedTextUtil.findText(clazz, key, getLocale(), defaultValue, argsArray);
} else {
return LocalizedTextUtil.findText(bundle, key, getLocale(), defaultValue, argsArray);
}
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. If no text is found for this text name, the default value is returned. |
public String getText(String key,
String defaultValue,
String[] args) {
if (clazz != null) {
return LocalizedTextUtil.findText(clazz, key, getLocale(), defaultValue, args);
} else {
return LocalizedTextUtil.findText(bundle, key, getLocale(), defaultValue, args);
}
}
Get a text from the resource bundles associated with this action.
The resource bundles are searched, starting with the one associated
with this particular action, and testing all its superclasses' bundles.
It will stop once a bundle is found that contains the given text. This gives
a cascading style that allow global texts to be defined for an application base
class. If no text is found for this text name, the default value is returned. |
public String getText(String key,
String defaultValue,
List args,
ValueStack stack) {
Object[] argsArray = ((args != null) ? args.toArray() : null);
Locale locale = null;
if (stack == null){
locale = getLocale();
}else{
locale = (Locale) stack.getContext().get(ActionContext.LOCALE);
}
if (locale == null) {
locale = getLocale();
}
if (clazz != null) {
return LocalizedTextUtil.findText(clazz, key, locale, defaultValue, argsArray, stack);
} else {
return LocalizedTextUtil.findText(bundle, key, locale, defaultValue, argsArray, stack);
}
}
Gets a message based on a key using the supplied args, as defined in
java.text.MessageFormat , or, if the message is not found, a supplied
default value is returned. Instead of using the value stack in the ActionContext
this version of the getText() method uses the provided value stack. |
public String getText(String key,
String defaultValue,
String[] args,
ValueStack stack) {
Locale locale = null;
if (stack == null){
locale = getLocale();
}else{
locale = (Locale) stack.getContext().get(ActionContext.LOCALE);
}
if (locale == null) {
locale = getLocale();
}
if (clazz != null) {
return LocalizedTextUtil.findText(clazz, key, locale, defaultValue, args, stack);
} else {
return LocalizedTextUtil.findText(bundle, key, locale, defaultValue, args, stack);
}
}
Gets a message based on a key using the supplied args, as defined in
java.text.MessageFormat , or, if the message is not found, a supplied
default value is returned. Instead of using the value stack in the ActionContext
this version of the getText() method uses the provided value stack. |
public ResourceBundle getTexts() {
if (clazz != null) {
return getTexts(clazz.getName());
}
return bundle;
}
Get the resource bundle associated with this action.
This will be based on the actual subclass that is used. |
public ResourceBundle getTexts(String aBundleName) {
return LocalizedTextUtil.findResourceBundle(aBundleName, getLocale());
}
Get the named bundle.
You can override the getLocale() methodName to change the behaviour of how
to choose locale for the bundles that are returned. Typically you would
use the TextProvider interface to get the users configured locale, or use
your own methodName to allow the user to select the locale and store it in
the session (by using the SessionAware interface). |
public void setBundle(ResourceBundle bundle) {
this.bundle = bundle;
}
|
public void setClazz(Class clazz) {
this.clazz = clazz;
}
|
public void setLocaleProvider(LocaleProvider localeProvider) {
this.localeProvider = localeProvider;
}
|