Interface MessageFactory
A MessageFactory allows i18n messages to be declared and looked up from a MessageSource using a declarative dsl-ish
technique. A MessageFactory implementation can be instantiated using the #get(Class, Locale, MessageSource)
method to return a live instance that returns translated messages.
Messages are looked up from the message source using a MessageFactory interface method's fully qualified name, e.g.
String com.FooMessages.thisIsTheBestMessage()
will look up com.FooMessages.THIS_IS_THE_BEST_MESSAGE
from its
MessageSource
. If no key is present, a default is returned based on the called method's name 0 -
"this is the best message" would be returned from the previous example if no message had been found in the
MessageSource
. for the preset Locale
MessageFactory sub-interfaces can declare methods that return MessageKey
s as well as String
s. This
is provided as a convenience, but is not preferred, as it leaves the user of the MessageKey
without a way of
knowing which MessageSource
to resolve against.
see MessageFactoryProxy
for the actual lookup implementation.