/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.runtime.actors; /** * <p>INTERNAL API</p> * Context of actor */ public class ActorContext { private final ActorScope actorScope; /** * <p>INTERNAL API</p> * Creating of actor context * * @param scope actor scope */ public ActorContext(ActorScope scope) { this.actorScope = scope; } /** * Actor Reference * * @return reference */ public ActorRef getSelf() { return actorScope.getActorRef(); } /** * Actor system * * @return Actor system */ public ActorSystem getSystem() { return actorScope.getActorSystem(); } /** * Sender of last received message * * @return sender's ActorRef */ public ActorRef sender() { return actorScope.getSender(); } public Object message() { return actorScope.getMessage(); } /** * Setting sender * * @param ref sender's ActorRef */ public void setSender(ActorRef ref) { actorScope.setSender(ref); } public void setMessage(Object message) { actorScope.setMessage(message); } }