Annotation Interface 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:
  • Optional Element Summary

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

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Constant value for key() indicating that the default strategy specified by MessageBundle.defaultKey() should be used.
    static final String
    Constant value for value() indicating that message template value specified in a localized file should be used.
    static final String
    Constant value for key() indicating that the annotated element's name should be used as-is.
    static final String
    Constant value for key() indicating that the annotated element's name should be de-camel-cased and hyphenated, and then used.
    static final String
    Constant value forkey() indicating that the annotated element's name should be de-camel-cased and parts separated by underscores, and then used.
  • Field Details

    • DEFAULT_NAME

      static final String DEFAULT_NAME
      Constant value for key() indicating that the default strategy specified by MessageBundle.defaultKey() should be used.
      See Also:
    • ELEMENT_NAME

      static final String ELEMENT_NAME
      Constant value for key() indicating that the annotated element's name should be used as-is.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
    • 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.
      See Also:
  • Element Details

    • key

      String key
      The key of a message.
      Returns:
      the message key
      See Also:
      Default:
      "<<default>>"
    • 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>>"