Annotation Type Message


  • @Retention(RUNTIME)
    @Target(METHOD)
    public @interface Message
    Identifies a message bundle method that represents a single message of the enclosing bundle.

    The value of the key() can be used to reference a message in a template. It is possible to specify an explicit key or a strategy to extract the default key. The default strategy is defined by the enclosing MessageBundle.defaultKey().

    The value() defines the template of a message. The method parameters can be used in this template. All the message templates are validated at build time.

    Note that any method declared on a message bundle interface is consireded a message bundle method. If not annotated with this annotation then the defaulted values are used for the key and template.

    All message bundle methods must return String. If a message bundle method does not return string then the build fails.

    See Also:
    MessageBundle
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      String key
      The key of a message.
      String value
      This value has higher priority over a message template specified in a localized file, and it's considered a good practice to specify it.
      • ELEMENT_NAME

        static final String ELEMENT_NAME
        Constant value for key() indicating that the annotated element's name should be used as-is.
      • DEFAULT_VALUE

        static final String DEFAULT_VALUE
        Constant value for value() indicating that message template value specified in a localized file should be used. If localized file fails to provide value, an exception is thrown and the build fails.
      • HYPHENATED_ELEMENT_NAME

        static final String HYPHENATED_ELEMENT_NAME
        Constant value for key() indicating that the annotated element's name should be de-camel-cased and hyphenated, and then used.
      • UNDERSCORED_ELEMENT_NAME

        static final String UNDERSCORED_ELEMENT_NAME
        Constant value forkey() indicating that the annotated element's name should be de-camel-cased and parts separated by underscores, and then used.
      • value

        String value
        This value has higher priority over a message template specified in a localized file, and it's considered a good practice to specify it. In case the value is not provided and there is no match in the localized file too, the build fails.
        Returns:
        the message template
        Default:
        "<<default value>>"