com.opensymphony.xwork2
Interface TextProvider

All Known Subinterfaces:
ResourceBundleTextProvider, ValidatorContext
All Known Implementing Classes:
ActionSupport, CompositeTextProvider, DefaultTextProvider, DelegatingValidatorContext, TextProviderSupport, VisitorFieldValidator.AppendingValidatorContext

public interface TextProvider

Provides access to ResourceBundles and their underlying text messages. Implementing classes can delegate TextProviderSupport. Messages will be searched in multiple resource bundles, startinag with the one associated with this particular class (action in most cases), continuing to try the message bundle associated with each superclass as well. 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.

You can override LocaleProvider.getLocale() to change the behaviour of how to choose locale for the bundles that are returned. Typically you would use the LocaleProvider interface to get the users configured locale.

When you want to use your own implementation for Struts 2 project you have to define following bean and constant in struts.xml: <bean class="org.demo.MyTextProvider" name="myTextProvider" type="com.opensymphony.xwork2.TextProvider" /> <constant name="struts.xworkTextProvider" value="myTextProvider" />

if you want to also use your implemntation for framework's messages define another constant (remember to put into it all framework messages) <constant name="system" value="myTextProvider" />

Take a look on ActionSupport for example TextProvider implemntation.

Author:
Jason Carreira, Rainer Hermanns
See Also:
LocaleProvider, TextProviderSupport

Method Summary
 java.lang.String getText(java.lang.String key)
          Gets a message based on a message key, or null if no message is found.
 java.lang.String getText(java.lang.String key, java.util.List<?> args)
          Gets a message based on a key using the supplied args, as defined in MessageFormat, or null if no message is found.
 java.lang.String getText(java.lang.String key, java.lang.String defaultValue)
          Gets a message based on a key, or, if the message is not found, a supplied default value is returned.
 java.lang.String getText(java.lang.String key, java.lang.String[] args)
          Gets a message based on a key using the supplied args, as defined in MessageFormat, or null if no message is found.
 java.lang.String getText(java.lang.String key, java.lang.String defaultValue, java.util.List<?> args)
          Gets a message based on a key using the supplied args, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.
 java.lang.String getText(java.lang.String key, java.lang.String defaultValue, java.util.List<?> args, ValueStack stack)
          Gets a message based on a key using the supplied args, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.
 java.lang.String getText(java.lang.String key, java.lang.String defaultValue, java.lang.String obj)
          Gets a message based on a key using the supplied obj, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.
 java.lang.String getText(java.lang.String key, java.lang.String defaultValue, java.lang.String[] args)
          Gets a message based on a key using the supplied args, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.
 java.lang.String getText(java.lang.String key, java.lang.String defaultValue, java.lang.String[] args, ValueStack stack)
          Gets a message based on a key using the supplied args, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.
 java.util.ResourceBundle getTexts()
          Get the resource bundle associated with the implementing class (usually an action).
 java.util.ResourceBundle getTexts(java.lang.String bundleName)
          Get the named bundle, such as "com/acme/Foo".
 boolean hasKey(java.lang.String key)
          Checks if a message key exists.
 

Method Detail

hasKey

boolean hasKey(java.lang.String key)
Checks if a message key exists.

Parameters:
key - message key to check for
Returns:
boolean true if key exists, false otherwise.

getText

java.lang.String getText(java.lang.String key)
Gets a message based on a message key, or null if no message is found.

Parameters:
key - the resource bundle key that is to be searched for
Returns:
the message as found in the resource bundle, or null if none is found.

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String defaultValue)
Gets a message based on a key, or, if the message is not found, a supplied default value is returned.

Parameters:
key - the resource bundle key that is to be searched for
defaultValue - the default value which will be returned if no message is found
Returns:
the message as found in the resource bundle, or defaultValue if none is found

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String defaultValue,
                         java.lang.String obj)
Gets a message based on a key using the supplied obj, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.

Parameters:
key - the resource bundle key that is to be searched for
defaultValue - the default value which will be returned if no message is found
obj - obj to be used in a MessageFormat message
Returns:
the message as found in the resource bundle, or defaultValue if none is found

getText

java.lang.String getText(java.lang.String key,
                         java.util.List<?> args)
Gets a message based on a key using the supplied args, as defined in MessageFormat, or null if no message is found.

Parameters:
key - the resource bundle key that is to be searched for
args - a list args to be used in a MessageFormat message
Returns:
the message as found in the resource bundle, or null if none is found.

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String[] args)
Gets a message based on a key using the supplied args, as defined in MessageFormat, or null if no message is found.

Parameters:
key - the resource bundle key that is to be searched for
args - an array args to be used in a MessageFormat message
Returns:
the message as found in the resource bundle, or null if none is found.

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String defaultValue,
                         java.util.List<?> args)
Gets a message based on a key using the supplied args, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.

Parameters:
key - the resource bundle key that is to be searched for
defaultValue - the default value which will be returned if no message is found
args - a list args to be used in a MessageFormat message
Returns:
the message as found in the resource bundle, or defaultValue if none is found

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String defaultValue,
                         java.lang.String[] args)
Gets a message based on a key using the supplied args, as defined in MessageFormat, or, if the message is not found, a supplied default value is returned.

Parameters:
key - the resource bundle key that is to be searched for
defaultValue - the default value which will be returned if no message is found
args - an array args to be used in a MessageFormat message
Returns:
the message as found in the resource bundle, or defaultValue if none is found

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String defaultValue,
                         java.util.List<?> args,
                         ValueStack stack)
Gets a message based on a key using the supplied args, as defined in 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.

Parameters:
key - the resource bundle key that is to be searched for
defaultValue - the default value which will be returned if no message is found
args - a list args to be used in a MessageFormat message
stack - the value stack to use for finding the text
Returns:
the message as found in the resource bundle, or defaultValue if none is found

getText

java.lang.String getText(java.lang.String key,
                         java.lang.String defaultValue,
                         java.lang.String[] args,
                         ValueStack stack)
Gets a message based on a key using the supplied args, as defined in 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.

Parameters:
key - the resource bundle key that is to be searched for
defaultValue - the default value which will be returned if no message is found
args - an array args to be used in a MessageFormat message
stack - the value stack to use for finding the text
Returns:
the message as found in the resource bundle, or defaultValue if none is found

getTexts

java.util.ResourceBundle getTexts(java.lang.String bundleName)
Get the named bundle, such as "com/acme/Foo".

Parameters:
bundleName - the name of the resource bundle, such as "com/acme/Foo".
Returns:
the bundle

getTexts

java.util.ResourceBundle getTexts()
Get the resource bundle associated with the implementing class (usually an action).

Returns:
the bundle


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.