Interface MessageSource

All Superinterfaces:
io.micronaut.core.order.Ordered
All Known Implementing Classes:
AbstractMessageSource, ResourceBundleMessageSource, StaticMessageSource

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

    • EMPTY

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

    • getMessage

      @NonNull default @NonNull Optional<String> getMessage(@NonNull @NonNull String code, @NonNull @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

      @NonNull default @NonNull Optional<String> getMessage(@NonNull @NonNull String code, @NonNull @NonNull Locale locale, @NonNull @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

      @NonNull default @NonNull Optional<String> getMessage(@NonNull @NonNull String code, @NonNull @NonNull Locale locale, @NonNull @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

      @NonNull default @NonNull Optional<String> getMessage(@NonNull @NonNull String code, @NonNull @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

      @NonNull default @NonNull String getMessage(@NonNull @NonNull String code, @NonNull @NonNull String defaultMessage, @NonNull @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

      @NonNull default @NonNull String getMessage(@NonNull @NonNull String code, @NonNull @NonNull String defaultMessage, @NonNull @NonNull Locale locale, @NonNull @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

      @NonNull default @NonNull String getMessage(@NonNull @NonNull String code, @NonNull @NonNull String defaultMessage, @NonNull @NonNull Locale locale, @NonNull @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

      @NonNull default @NonNull String getMessage(@NonNull @NonNull String code, @NonNull @NonNull MessageSource.MessageContext context, @NonNull @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 @NonNull Optional<String> getRawMessage(@NonNull @NonNull String code, @NonNull @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

      @NonNull default @NonNull String getRawMessage(@NonNull @NonNull String code, @NonNull @NonNull MessageSource.MessageContext context, @NonNull @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 @NonNull String interpolate(@NonNull @NonNull String template, @NonNull @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

      @NonNull default @NonNull String getRequiredMessage(@NonNull @NonNull String code, @NonNull @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

      @NonNull default @NonNull String getRequiredRawMessage(@NonNull @NonNull String code, @NonNull @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