001 package toolbus.tifs; 002 003 import java.util.Iterator; 004 005 import aterm.ATerm; 006 import aterm.ATermAppl; 007 import aterm.ATermList; 008 009 public class Process{ 010 private final ATermAppl representation; 011 private final CommunicationList communicationList; 012 013 public Process(ATerm t){ 014 representation = (ATermAppl) t; 015 016 ATermList list = (ATermList) representation.getArgument(1); 017 communicationList = new CommunicationList(list); 018 } 019 020 public String getName(){ 021 ATermAppl nameTerm = (ATermAppl) representation.getArgument(0); 022 return ((ATermAppl) nameTerm.getArgument(0)).getAFun().getName(); 023 } 024 025 public Iterator<Communication> fetchCommunicationIterator(){ 026 return communicationList.iterator(); 027 } 028 029 public String toString(){ 030 StringBuilder buf = new StringBuilder(); 031 buf.append("process("); 032 buf.append("name("); 033 buf.append('"'); 034 buf.append(getName()); 035 buf.append('"'); 036 buf.append(')'); 037 buf.append(','); 038 buf.append('['); 039 Iterator<Communication> iter = fetchCommunicationIterator(); 040 while(iter.hasNext()){ 041 buf.append(iter.next()); 042 if(iter.hasNext()){ 043 buf.append(','); 044 } 045 } 046 buf.append(']'); 047 buf.append(')'); 048 return buf.toString(); 049 } 050 }