MessageFactory.java
package edu.udel.cis.vsl.tass.dynamic.impl.value;
import edu.udel.cis.vsl.tass.dynamic.IF.value.MessageIF;
import edu.udel.cis.vsl.tass.dynamic.IF.value.ValueIF;
import edu.udel.cis.vsl.tass.model.IF.ProcessIF;
import edu.udel.cis.vsl.tass.morph.MorphicFactory;
public class MessageFactory extends MorphicFactory<MessageIF> {
private ValueFactory valueFactory;
public MessageFactory(ValueFactory valueFactory) {
assert valueFactory != null;
this.valueFactory = valueFactory;
}
public Message message(ProcessIF source, ProcessIF destination,
ValueIF tag, ValueIF data) {
Message newMessage = new Message(data, source, destination, tag);
return newMessage;
}
@Override
public void canonicalizeChildren(MessageIF message) {
((Message) message).canonicalizeChildren(this, valueFactory);
}
}