Interface MessageSource

All Superinterfaces:
Ordered
All Known Implementing Classes:
AbstractMessageSource, CompositeMessageSource, ResourceBundleMessageSource, StaticMessageSource

@Singleton @Indexed(MessageSource.class) public interface MessageSource extends Ordered
Interface for resolving messages from some source.
Since:
1.2
Author:
graemerocher
  • Field Details

    • EMPTY

      static final MessageSource EMPTY
      An empty message source.
  • Method Details

    • getMessage

      default @NonNull Optional<String> getMessage(@NonNull String code, @NonNull Locale locale)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      locale - The locale to use to resolve messages.
      Returns:
      A message if present
    • getMessage

      default @NonNull Optional<String> getMessage(@NonNull String code, @NonNull Locale locale, @NonNull Object... variables)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      locale - The locale to use to resolve messages.
      variables - The variables to use resolve message placeholders
      Returns:
      A message if present
    • getMessage

      default @NonNull Optional<String> getMessage(@NonNull String code, @NonNull Locale locale, @NonNull Map<String,Object> variables)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      locale - The locale to use to resolve messages.
      variables - The variables to use resolve message placeholders
      Returns:
      A message if present
    • getMessage

      default @NonNull Optional<String> getMessage(@NonNull String code, @NonNull MessageSource.MessageContext context)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      context - The context
      Returns:
      A message if present
    • getMessage

      default @NonNull String getMessage(@NonNull String code, @NonNull String defaultMessage, @NonNull Locale locale)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      defaultMessage - The default message to use if no other message is found
      locale - The locale to use to resolve messages.
      Returns:
      A message if present
    • getMessage

      default @NonNull String getMessage(@NonNull String code, @NonNull String defaultMessage, @NonNull Locale locale, @NonNull Map<String,Object> variables)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      defaultMessage - The default message to use if no other message is found
      locale - The locale to use to resolve messages.
      variables - The variables to use resolve message placeholders
      Returns:
      A message if present
    • getMessage

      default @NonNull String getMessage(@NonNull String code, @NonNull String defaultMessage, @NonNull Locale locale, @NonNull Object... variables)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      defaultMessage - The default message to use if no other message is found
      locale - The locale to use to resolve messages.
      variables - The variables to use resolve message placeholders
      Returns:
      A message if present
    • getMessage

      default @NonNull String getMessage(@NonNull String code, @NonNull MessageSource.MessageContext context, @NonNull String defaultMessage)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      context - The context
      defaultMessage - The default message to use if no other message is found
      Returns:
      A message if present
    • getRawMessage

      @NonNull Optional<String> getRawMessage(@NonNull String code, @NonNull MessageSource.MessageContext context)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      context - The context
      Returns:
      A message if present
    • getRawMessage

      default @NonNull String getRawMessage(@NonNull String code, @NonNull MessageSource.MessageContext context, @NonNull String defaultMessage)
      Resolve a message for the given code and context.
      Parameters:
      code - The code
      context - The context
      defaultMessage - The default message to use if no other message is found
      Returns:
      A message if present
    • interpolate

      @NonNull String interpolate(@NonNull String template, @NonNull MessageSource.MessageContext context)
      Interpolate the given message template.
      Parameters:
      template - The template
      context - The context to use.
      Returns:
      The interpolated message.
      Throws:
      IllegalArgumentException - If any argument specified is null
    • getRequiredMessage

      default @NonNull String getRequiredMessage(@NonNull String code, @NonNull MessageSource.MessageContext context)
      Resolve a message for the given code and context or throw an exception.
      Parameters:
      code - The code
      context - The context
      Returns:
      The message
      Throws:
      NoSuchMessageException - if the message is not found
    • getRequiredRawMessage

      default @NonNull String getRequiredRawMessage(@NonNull String code, @NonNull MessageSource.MessageContext context)
      Resolve a message for the given code and context or throw an exception.
      Parameters:
      code - The code
      context - The context
      Returns:
      The message
      Throws:
      NoSuchMessageException - if the message is not found