package org.akka.essentials.unittest.actors; import akka.actor.UntypedActor; public class TickTock extends UntypedActor { public static class Tick { String message; public Tick(String inStr) { message = inStr; } }; public static class Tock { String message; public Tock(String inStr) { message = inStr; } }; public boolean state = false; @Override public void onReceive(Object message) throws Exception { if (message instanceof Tick) { tick((Tick) message); } else if (message instanceof Tock) { tock((Tock) message); } else throw new IllegalArgumentException("boom!"); } public void tock(Tock message) { // do some processing here if (state == false) state = true; else state = false; } public void tick(Tick message) { // do some processing here sender().tell("processed the tick message"); } }