@Target(value=TYPE) @Retention(value=RUNTIME) @Documented public @interface MessageBundle
Marker annotation for a message-bundle interface which provides type-safe messages.
This annotation must only be used on interfaces. If this annotation gets used on a concrete class, a deployment error results!
Each method on an interface annotated with @MessageBundle
will form a type-safe message. The message lookup key
(resource bundle key) can either be defined by annotating those methods
with @MessageTemplate) or by convention. if no @MessageTemplate
annotation is used on a method, the case sensitive method-name name
will be used as resource key.
The parameters of the declared methods will be automatically passed
as message parameters to the MessageResolver.
Please note that all passed parameters should be Serializable.
If a parameter is not Serializable, we will instead store the toString()
of the passed parameter.
The ResourceBundle or other resource lookup source which might be used is
determined by the MessageResolver
in conjunction with
MessageContext.messageSource(String...).
The fully qualified class name of the interface annotated with
@MessageBundle will automatically be registered as additional
messageSource for those messages.
@MessageBundle can be combined with MessageContextConfig
to further customize the message-resolution and processing process.
Debug hint: Set a breakpoint in MessageBundleInvocationHandler#invoke.
This will get called for every message bundle invocation.
Copyright © 2011-2013 The Apache Software Foundation. All Rights Reserved.