package org.scribble.model.endpoint.actions; import org.scribble.model.MAction; import org.scribble.model.global.actions.SAction; import org.scribble.sesstype.Payload; import org.scribble.sesstype.kind.Local; import org.scribble.sesstype.name.MessageId; import org.scribble.sesstype.name.Role; public abstract class EAction extends MAction<Local> { public final Role peer; /*public final MessageId<?> mid; public final Payload payload; // Empty for MessageSigNames*/ protected EAction(Role peer, MessageId<?> mid, Payload payload) { /*this.mid = mid; this.payload = payload;*/ super(peer, mid, payload); this.peer = peer; } public abstract EAction toDual(Role self); //public abstract GModelAction toGlobal(Role self); public abstract SAction toGlobal(Role self); public boolean isSend() { return false; } public boolean isReceive() { return false; } public boolean isConnect() { return false; } public boolean isDisconnect() { return false; } public boolean isAccept() { return false; } public boolean isWrapClient() { return false; } public boolean isWrapServer() { return false; } /*@Override public String toString() { return this.peer + getCommSymbol() + this.mid + this.payload; } protected abstract String getCommSymbol();*/ /*@Override public int hashCode() { int hash = 919; hash = 31 * hash + super.hashCode(); hash = 31 * hash + this.peer.hashCode(); // No: peer is this.obj return hash; }*/ /*@Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof IOAction)) { return false; } IOAction a = (IOAction) o; return a.canEqual(this) && this.peer.equals(a.peer) && this.mid.equals(a.mid) && this.payload.equals(a.payload); } public abstract boolean canEqual(Object o);*/ }