Package eu.bandm.tools.messageMuli
Class MessageTranslator<D>
java.lang.Object
eu.bandm.tools.message.SingleSender<SimpleMessage<D>>
eu.bandm.tools.message.MessagePasser<SimpleMessage<D>>
eu.bandm.tools.messageMuli.MessageTranslator<D>
- Type Parameters:
D- the type of the document identifier
- All Implemented Interfaces:
MessageReceiver<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 Summary
FieldsModifier and TypeFieldDescriptionprotected CatalogByStringCatalogByStringfor the translations.static final Catalog<Message.Kind> The printed names of the message kinds in different languages.Preference list of languages into which to translage.Fields inherited from class eu.bandm.tools.message.SingleSender
drain -
Constructor Summary
ConstructorsConstructorDescriptionOnly constructorMessageTranslator(MessageReceiver<SimpleMessage<D>> rec, CatalogByString catalog, String... langs) Constructor which sets all parameters.MessageTranslator(MessageReceiver<SimpleMessage<D>> rec, CatalogByString catalog, List<String> langs) Constructor which sets all parameters. -
Method Summary
Modifier and TypeMethodDescriptionprocess(SimpleMessage<D> msg) Returns a new message with all texts translated.voidreceive(SimpleMessage<D> m) Translates the text of the message and passes it to the current drain.voidSet the catalog to be used for translations.voidsetPreferences(String... list) Set the priority of languages for searching a translation.voidsetPreferences(List<String> list) Set the priority of languages for searching a translation.Methods inherited from class eu.bandm.tools.message.SingleSender
getDrain, send, setDrainMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.bandm.tools.message.MessageReceiver
ifSubcriticalThen, ifSubcriticalThen, ifSubcriticalThenElse
-
Field Details
-
preferences
Preference list of languages into which to translage.- See Also:
-
catalog
CatalogByStringfor the translations. -
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 translationslangs- 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 translationslangs- language preferences
-
-
Method Details
-
setPreferences
Set the priority of languages for searching a translation.- Parameters:
list- of the languages in the order of decreasing priority
-
setPreferences
Set the priority of languages for searching a translation.- Parameters:
list- of the languages in the order of decreasing priority
-
setCatalog
Set the catalog to be used for translations.- Parameters:
cat- the catalog to use
-
receive
Translates the text of the message and passes it to the current drain. For the translation @see process(SimpleMessage)- Specified by:
receivein interfaceMessageReceiver<D>- Overrides:
receivein classMessagePasser<SimpleMessage<D>>- Parameters:
m- the message to receive.
-
process
Returns a new message with all texts translated. This includes the translation of embeddedPreMessages.- Parameters:
msg- the message to translate- Returns:
- the translated message
-