ProcessReferenceExpression.java

package edu.udel.cis.vsl.tass.model.impl.expression;

import edu.udel.cis.vsl.tass.model.IF.ModelFactoryIF;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.expression.ExpressionIF;
import edu.udel.cis.vsl.tass.model.IF.expression.ProcessReferenceExpressionIF;
import edu.udel.cis.vsl.tass.model.IF.type.TypeIF;

public class ProcessReferenceExpression extends Expression implements
		ProcessReferenceExpressionIF {

	private ExpressionIF pid;

	private String variableName;
	
	private ModelIF model;

	public ProcessReferenceExpression(ModelFactoryIF factory, ModelIF model, ExpressionIF pid,
			String variableName) {
		super(factory, ExpressionKind.PROCESS_REF);
		this.pid = pid;
		this.variableName = variableName;
		this.model = model;
	}

	public String toString() {
		return "PROC[" + pid + "]." + variableName;
	}

	@Override
	public String atomString() {
		return "(" + toString() + ")";
	}

	public ExpressionIF pid() {
		return pid;
	}

	public String variableName() {
		return variableName;
	}
	
	public void setType(TypeIF type) {
		this.type = type;
	}
	
	public ModelIF model() {
		return model;
	}

}