/**
*
*/
package name.webdizz.clt.crx.client.event.handler;
import name.webdizz.clt.crx.client.ExtEventBus;
import name.webdizz.clt.crx.client.event.message.LoadWordsMessage;
import name.webdizz.clt.crx.client.event.message.Message;
import name.webdizz.clt.crx.client.event.message.SelectTextMessage;
import name.webdizz.clt.crx.client.event.message.StoreTranslationMessage;
import com.google.gwt.chrome.crx.client.Chrome;
import com.google.gwt.chrome.crx.client.Console;
import com.google.gwt.chrome.crx.client.events.MessageEvent.Listener;
class MessageEventHandler implements Listener {
private static final Console CONSOLE = Chrome.getExtension()
.getBackgroundPage().getConsole();
private ExtEventBus eventBus;
public MessageEventHandler(ExtEventBus eventBus) {
this.eventBus = eventBus;
}
/*
* (non-Javadoc)
*
* @see
* com.google.gwt.chrome.crx.client.events.MessageEvent.Listener#onMessage
* (com.google.gwt.chrome.crx.client.events.MessageEvent.Message)
*/
public void onMessage(
final com.google.gwt.chrome.crx.client.events.Message message) {
CONSOLE.log("Message event handler");
if (null != message) {
processMessage(message);
}
}
private void processMessage(
final com.google.gwt.chrome.crx.client.events.Message message) {
Message castedMessage = message.cast();
if (SelectTextMessage.TYPE.equals(castedMessage.getType())) {
eventBus.selectText((SelectTextMessage) castedMessage);
}
if (StoreTranslationMessage.TYPE.equals(castedMessage.getType())) {
eventBus.storeTranslation((StoreTranslationMessage) castedMessage);
}
if (LoadWordsMessage.TYPE.equals(castedMessage.getType())) {
eventBus.loadWords((LoadWordsMessage) castedMessage);
}
}
}