Class MessageTranslator<D>

Type Parameters:
D - the type of the document identifier
All Implemented Interfaces:
MessageReceiver<SimpleMessage<D>>

public class MessageTranslator<D> extends MessagePasser<SimpleMessage<D>>
Translates the text of the message and all embedded sub-structures. The text object and all PreMessage type objects contained in the arguments are translated. Arguments of type String are not translated. For translation, they must be wrapped by PreMessage.preMessage(String,Object...).
  • Field Details

    • preferences

      protected List<String> preferences
      Preference list of languages into which to translage.
      See Also:
    • catalog

      protected CatalogByString catalog
      CatalogByString for the translations.
    • kindPrintName

      public static final Catalog<Message.Kind> kindPrintName
      The printed names of the message kinds in different languages. ("warning", "error", etc. vs. "Warnung", "Programmfehler", etc.)
  • Constructor Details

    • MessageTranslator

      public MessageTranslator()
      Only constructor
    • MessageTranslator

      public MessageTranslator(MessageReceiver<SimpleMessage<D>> rec, CatalogByString catalog, String... langs)
      Constructor which sets all parameters.
      Parameters:
      rec - drain to which messages will be sent,
      catalog - of translations
      langs - language preferences
    • MessageTranslator

      public MessageTranslator(MessageReceiver<SimpleMessage<D>> rec, CatalogByString catalog, List<String> langs)
      Constructor which sets all parameters.
      Parameters:
      rec - drain to which messages will be sent,
      catalog - of translations
      langs - language preferences
  • Method Details

    • setPreferences

      public void setPreferences(List<String> list)
      Set the priority of languages for searching a translation.
      Parameters:
      list - of the languages in the order of decreasing priority
    • setPreferences

      public void setPreferences(String... list)
      Set the priority of languages for searching a translation.
      Parameters:
      list - of the languages in the order of decreasing priority
    • setCatalog

      public void setCatalog(CatalogByString cat)
      Set the catalog to be used for translations.
      Parameters:
      cat - the catalog to use
    • receive

      public void receive(SimpleMessage<D> m)
      Translates the text of the message and passes it to the current drain. For the translation @see process(SimpleMessage)
      Specified by:
      receive in interface MessageReceiver<D>
      Overrides:
      receive in class MessagePasser<SimpleMessage<D>>
      Parameters:
      m - the message to receive.
    • process

      public SimpleMessage<D> process(SimpleMessage<D> msg)
      Returns a new message with all texts translated. This includes the translation of embedded PreMessages.
      Parameters:
      msg - the message to translate
      Returns:
      the translated message