@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2017 the original author or authors .
* Copyright 2002 - 2019 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -26,10 +26,10 @@ import org.springframework.lang.Nullable;
@@ -26,10 +26,10 @@ import org.springframework.lang.Nullable;
*
* < p > Spring provides two out - of - the - box implementations for production :
* < ul >
* < li > { @link org . springframework . context . support . ResourceBundleMessageSource } ,
* built on top of the standard { @link java . util . ResourceBundle }
* < li > { @link org . springframework . context . support . ReloadableResourceBundleMessageSource } ,
* being able to reload message definitions without restarting the VM
* < li > { @link org . springframework . context . support . ResourceBundleMessageSource } : built
* on top of the standard { @link java . util . ResourceBundle } , sharing its limitations .
* < li > { @link org . springframework . context . support . ReloadableResourceBundleMessageSource } :
* highly configurable , in particular with respect to reloading message definitions .
* < / ul >
*
* @author Rod Johnson
@ -41,16 +41,17 @@ public interface MessageSource {
@@ -41,16 +41,17 @@ public interface MessageSource {
/ * *
* Try to resolve the message . Return default message if no message was found .
* @param code the code to lookup up , such as ' calculator . noRateSet ' . Users of
* this class are encouraged to base message names on the relevant fully
* qualified class name , thus avoiding conflict and ensuring maximum clarity .
* @param code the code to lookup up , e . g . ' calculator . noRateSet ' .
* MessageSource users are encouraged to base message names on qualified class
* or package names , avoiding potential conflicts and ensuring maximum clarity .
* @param args an array of arguments that will be filled in for params within
* the message ( params look like "{0}" , "{1,date}" , "{2,time}" within a message ) ,
* or { @code null } if none .
* or { @code null } if none
* @param defaultMessage a default message to return if the lookup fails
* @param locale the locale in which to do the lookup
* @return the resolved message if the lookup was successful ;
* otherwise the default message passed as a parameter
* @return the resolved message if the lookup was successful , otherwise
* the default message passed as a parameter ( which may be { @code null } )
* @see # getMessage ( MessageSourceResolvable , Locale )
* @see java . text . MessageFormat
* /
@Nullable
@ -58,13 +59,16 @@ public interface MessageSource {
@@ -58,13 +59,16 @@ public interface MessageSource {
/ * *
* Try to resolve the message . Treat as an error if the message can ' t be found .
* @param code the code to lookup up , such as ' calculator . noRateSet '
* @param code the code to lookup up , e . g . ' calculator . noRateSet ' .
* MessageSource users are encouraged to base message names on qualified class
* or package names , avoiding potential conflicts and ensuring maximum clarity .
* @param args an array of arguments that will be filled in for params within
* the message ( params look like "{0}" , "{1,date}" , "{2,time}" within a message ) ,
* or { @code null } if none .
* or { @code null } if none
* @param locale the locale in which to do the lookup
* @return the resolved message
* @throws NoSuchMessageException if the message wasn ' t found
* @return the resolved message ( never { @code null } )
* @throws NoSuchMessageException if no corresponding message was found
* @see # getMessage ( MessageSourceResolvable , Locale )
* @see java . text . MessageFormat
* /
String getMessage ( String code , @Nullable Object [ ] args , Locale locale ) throws NoSuchMessageException ;
@ -76,9 +80,15 @@ public interface MessageSource {
@@ -76,9 +80,15 @@ public interface MessageSource {
* since at the time of calling this method we aren ' t able to determine if the
* { @code defaultMessage } property of the resolvable is { @code null } or not .
* @param resolvable the value object storing attributes required to resolve a message
* ( may include a default message )
* @param locale the locale in which to do the lookup
* @return the resolved message
* @throws NoSuchMessageException if the message wasn ' t found
* @return the resolved message ( never { @code null } since even a
* { @code MessageSourceResolvable } - provided default message needs to be non - null )
* @throws NoSuchMessageException if no corresponding message was found
* ( and no default message was provided by the { @code MessageSourceResolvable } )
* @see MessageSourceResolvable # getCodes ( )
* @see MessageSourceResolvable # getArguments ( )
* @see MessageSourceResolvable # getDefaultMessage ( )
* @see java . text . MessageFormat
* /
String getMessage ( MessageSourceResolvable resolvable , Locale locale ) throws NoSuchMessageException ;