ProcessCell.java
package edu.udel.cis.vsl.tass.dynamic.impl.cell;
import edu.udel.cis.vsl.tass.dynamic.IF.cell.ProcessCellIF;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.ProcessIF;
import edu.udel.cis.vsl.tass.model.IF.variable.ProcessVariableIF;
public class ProcessCell extends Cell implements ProcessCellIF {
private ProcessVariableIF variable;
ProcessCell(ProcessVariableIF variable) {
super(DynamicScope.PROCESS);
assert variable != null;
this.variable = variable;
}
@Override
public int processVariableId() {
return variable().idInScope();
}
public ProcessVariableIF variable() {
return variable;
}
@Override
public ProcessIF process() {
return variable().scope().process();
}
@Override
public ModelIF model() {
return variable.model();
}
public String toString() {
String result = variable.name();
return result;
}
public boolean equals(Object object) {
if (object instanceof ProcessCell) {
ProcessCell that = (ProcessCell) object;
return super.equals(that) && variable.equals(that.variable);
}
return false;
}
public int hashCode() {
return super.hashCode() + variable.hashCode();
}
}