Skip to content
Snippets Groups Projects
Action.java 602 B
Newer Older
Michael Kmoch's avatar
Michael Kmoch committed
package fucoin.actions;

Michael Kmoch's avatar
Michael Kmoch committed
import akka.actor.ActorRef;
import akka.actor.UntypedActorContext;

public abstract class Action<T extends AbstractNode> {
	private ActorRef self;

	public final void doAction(T abstractNode){
		this.self=abstractNode.getSelf();
		onAction(abstractNode.getSender(),abstractNode.getSelf(),abstractNode.getContext(),abstractNode);
	}

	protected abstract void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, T abstractNode);
	
	public void log(String string) {
		System.out.println(self.path().name()+": "+string);
	}
	
}