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

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

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);
Michael Kmoch's avatar
Michael Kmoch committed
}