org.springframework.context.support

## Class MessageSourceAccessor

- java.lang.Object
- - org.springframework.context.support.MessageSourceAccessor

-     public class MessageSourceAccessor
      extends Object

  Helper class for easy access to messages from a MessageSource, providing various overloaded getMessage methods.

  Available from ApplicationObjectSupport, but also reusable as a standalone helper to delegate to in application objects.

  Since:
    23.10.2003
  Author:
    Juergen Hoeller
  See Also:
    `ApplicationObjectSupport.getMessageSourceAccessor()`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MessageSourceAccessor(MessageSource messageSource)` Create a new MessageSourceAccessor, using LocaleContextHolder's locale as default locale.
    `MessageSourceAccessor(MessageSource messageSource, Locale defaultLocale)` Create a new MessageSourceAccessor, using the given default locale.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Locale` | `getDefaultLocale()` Return the default locale to use if no explicit locale has been given.
    `String` | `getMessage(MessageSourceResolvable resolvable)` Retrieve the given MessageSourceResolvable (e.g.
    `String` | `getMessage(MessageSourceResolvable resolvable, Locale locale)` Retrieve the given MessageSourceResolvable (e.g.
    `String` | `getMessage(String code)` Retrieve the message for the given code and the default Locale.
    `String` | `getMessage(String code, Locale locale)` Retrieve the message for the given code and the given Locale.
    `String` | `getMessage(String code, Object[] args)` Retrieve the message for the given code and the default Locale.
    `String` | `getMessage(String code, Object[] args, Locale locale)` Retrieve the message for the given code and the given Locale.
    `String` | `getMessage(String code, Object[] args, String defaultMessage)` Retrieve the message for the given code and the default Locale.
    `String` | `getMessage(String code, Object[] args, String defaultMessage, Locale locale)` Retrieve the message for the given code and the given Locale.
    `String` | `getMessage(String code, String defaultMessage)` Retrieve the message for the given code and the default Locale.
    `String` | `getMessage(String code, String defaultMessage, Locale locale)` Retrieve the message for the given code and the given Locale.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MessageSourceAccessor

          public MessageSourceAccessor(MessageSource messageSource)

      Create a new MessageSourceAccessor, using LocaleContextHolder's locale as default locale.
      Parameters:
        `messageSource` - the MessageSource to wrap
      See Also:
        `LocaleContextHolder.getLocale()`

    - #### MessageSourceAccessor

          public MessageSourceAccessor(MessageSource messageSource,
                               Locale defaultLocale)

      Create a new MessageSourceAccessor, using the given default locale.
      Parameters:
        `messageSource` - the MessageSource to wrap
        `defaultLocale` - the default locale to use for message access

  - ### Method Detail

    - #### getDefaultLocale

          protected Locale getDefaultLocale()

      Return the default locale to use if no explicit locale has been given.

      The default implementation returns the default locale passed into the corresponding constructor, or LocaleContextHolder's locale as fallback. Can be overridden in subclasses.

      See Also:
        `MessageSourceAccessor(org.springframework.context.MessageSource, java.util.Locale)`, `LocaleContextHolder.getLocale()`

    - #### getMessage

          public String getMessage(String code,
                          String defaultMessage)

      Retrieve the message for the given code and the default Locale.
      Parameters:
        `code` - code of the message
        `defaultMessage` - String to return if the lookup fails
      Returns:
        the message

    - #### getMessage

          public String getMessage(String code,
                          String defaultMessage,
                          Locale locale)

      Retrieve the message for the given code and the given Locale.
      Parameters:
        `code` - code of the message
        `defaultMessage` - String to return if the lookup fails
        `locale` - Locale in which to do lookup
      Returns:
        the message

    - #### getMessage

          public String getMessage(String code,
                          Object[] args,
                          String defaultMessage)

      Retrieve the message for the given code and the default Locale.
      Parameters:
        `code` - code of the message
        `args` - arguments for the message, or `null` if none
        `defaultMessage` - String to return if the lookup fails
      Returns:
        the message

    - #### getMessage

          public String getMessage(String code,
                          Object[] args,
                          String defaultMessage,
                          Locale locale)

      Retrieve the message for the given code and the given Locale.
      Parameters:
        `code` - code of the message
        `args` - arguments for the message, or `null` if none
        `defaultMessage` - String to return if the lookup fails
        `locale` - Locale in which to do lookup
      Returns:
        the message

    - #### getMessage

          public String getMessage(String code)
                            throws NoSuchMessageException

      Retrieve the message for the given code and the default Locale.
      Parameters:
        `code` - code of the message
      Returns:
        the message
      Throws:
        `NoSuchMessageException` - if not found

    - #### getMessage

          public String getMessage(String code,
                          Locale locale)
                            throws NoSuchMessageException

      Retrieve the message for the given code and the given Locale.
      Parameters:
        `code` - code of the message
        `locale` - Locale in which to do lookup
      Returns:
        the message
      Throws:
        `NoSuchMessageException` - if not found

    - #### getMessage

          public String getMessage(String code,
                          Object[] args)
                            throws NoSuchMessageException

      Retrieve the message for the given code and the default Locale.
      Parameters:
        `code` - code of the message
        `args` - arguments for the message, or `null` if none
      Returns:
        the message
      Throws:
        `NoSuchMessageException` - if not found

    - #### getMessage

          public String getMessage(String code,
                          Object[] args,
                          Locale locale)
                            throws NoSuchMessageException

      Retrieve the message for the given code and the given Locale.
      Parameters:
        `code` - code of the message
        `args` - arguments for the message, or `null` if none
        `locale` - Locale in which to do lookup
      Returns:
        the message
      Throws:
        `NoSuchMessageException` - if not found

    - #### getMessage

          public String getMessage(MessageSourceResolvable resolvable)
                            throws NoSuchMessageException

      Retrieve the given MessageSourceResolvable (e.g. an ObjectError instance) in the default Locale.
      Parameters:
        `resolvable` - the MessageSourceResolvable
      Returns:
        the message
      Throws:
        `NoSuchMessageException` - if not found

    - #### getMessage

          public String getMessage(MessageSourceResolvable resolvable,
                          Locale locale)
                            throws NoSuchMessageException

      Retrieve the given MessageSourceResolvable (e.g. an ObjectError instance) in the given Locale.
      Parameters:
        `resolvable` - the MessageSourceResolvable
        `locale` - Locale in which to do lookup
      Returns:
        the message
      Throws:
        `NoSuchMessageException` - if not found