Class StaticMessageSource
- All Implemented Interfaces:
 HierarchicalMessageSource,MessageSource
MessageSource
 which allows messages to be registered programmatically.
 This MessageSource supports basic internationalization.
 Intended for testing rather than for use in production systems.
- Author:
 - Rod Johnson, Juergen Hoeller
 
- 
Field Summary
Fields inherited from class org.springframework.context.support.MessageSourceSupport
logger - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddMessage(String code, Locale locale, String msg) Associate the given message with the given code.voidaddMessages(Map<String, String> messages, Locale locale) Associate the given message values with the given keys as codes.protected @Nullable MessageFormatresolveCode(String code, Locale locale) Subclasses must implement this method to resolve a message.resolveCodeWithoutArguments(String code, Locale locale) Subclasses can override this method to resolve a message without arguments in an optimized fashion, i.e.toString()Methods inherited from class org.springframework.context.support.AbstractMessageSource
getCommonMessages, getDefaultMessage, getDefaultMessage, getMessage, getMessage, getMessage, getMessageFromParent, getMessageInternal, getParentMessageSource, isUseCodeAsDefaultMessage, resolveArguments, setCommonMessages, setParentMessageSource, setUseCodeAsDefaultMessageMethods inherited from class org.springframework.context.support.MessageSourceSupport
createMessageFormat, formatMessage, isAlwaysUseMessageFormat, renderDefaultMessage, setAlwaysUseMessageFormat 
- 
Constructor Details
- 
StaticMessageSource
public StaticMessageSource() 
 - 
 - 
Method Details
- 
resolveCodeWithoutArguments
Description copied from class:AbstractMessageSourceSubclasses can override this method to resolve a message without arguments in an optimized fashion, i.e. to resolve without involving a MessageFormat.The default implementation does use MessageFormat, through delegating to the
AbstractMessageSource.resolveCode(java.lang.String, java.util.Locale)method. Subclasses are encouraged to replace this with optimized resolution.Unfortunately,
java.text.MessageFormatis not implemented in an efficient fashion. In particular, it does not detect that a message pattern doesn't contain argument placeholders in the first place. Therefore, it is advisable to circumvent MessageFormat for messages without arguments.- Overrides:
 resolveCodeWithoutArgumentsin classAbstractMessageSource- Parameters:
 code- the code of the message to resolvelocale- the locale to resolve the code for (subclasses are encouraged to support internationalization)- Returns:
 - the message String, or 
nullif not found - See Also:
 
 - 
resolveCode
Description copied from class:AbstractMessageSourceSubclasses must implement this method to resolve a message.Returns a MessageFormat instance rather than a message String, to allow for appropriate caching of MessageFormats in subclasses.
Subclasses are encouraged to provide optimized resolution for messages without arguments, not involving MessageFormat. See the
AbstractMessageSource.resolveCodeWithoutArguments(java.lang.String, java.util.Locale)javadoc for details.- Specified by:
 resolveCodein classAbstractMessageSource- Parameters:
 code- the code of the message to resolvelocale- the locale to resolve the code for (subclasses are encouraged to support internationalization)- Returns:
 - the MessageFormat for the message, or 
nullif not found - See Also:
 
 - 
addMessage
 - 
addMessages
 - 
toString
 
 -