SynchronousTransition.java
package edu.udel.cis.vsl.tass.transition.impl;
import java.io.PrintWriter;
import edu.udel.cis.vsl.tass.dynamic.IF.value.ValueIF;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.statement.ReceiveStatementIF;
import edu.udel.cis.vsl.tass.model.IF.statement.SendStatementIF;
import edu.udel.cis.vsl.tass.transition.IF.SynchronousTransitionIF;
public class SynchronousTransition extends Transition implements
SynchronousTransitionIF {
private SendStatementIF send;
private ReceiveStatementIF receive;
SynchronousTransition(SendStatementIF send, ReceiveStatementIF receive,
ValueIF pathCondition) {
super(pathCondition);
assert send != null;
assert receive != null;
this.send = send;
this.receive = receive;
}
@Override
public SendStatementIF send() {
return send;
}
@Override
public ReceiveStatementIF receive() {
return receive;
}
@Override
public ModelIF model() {
return send.model();
}
@Override
public String toString() {
return send.process() + ": " + send + "\n" + receive.process() + ": "
+ receive;
}
@Override
public void print(PrintWriter out) {
send.print(out);
out.print(" AND ");
receive.print(out);
}
}