package com.plectix.simulator.parser.abstractmodel; import com.plectix.simulator.staticanalysis.InternalState; import com.plectix.simulator.staticanalysis.LinkRank; import com.plectix.simulator.staticanalysis.LinkStatus; import com.plectix.simulator.util.NameDictionary; public final class ModelSite { private final ModelLink linkState; private final String name; private int linkIndex = -1; private String internalStateName = InternalState.DEFAULT_NAME; public ModelSite(String name) { this.name = name; this.linkState = new ModelLink(); } public final String getName() { return name; } public final void setInternalState(String internalState) { internalStateName = internalState; } public final ModelLink getLinkState() { return linkState; } public final void setLinkIndex(int index) { linkIndex = index; } public final int getLinkIndex() { return linkIndex; } public final String getInternalStateName() { return internalStateName; } @Override public final String toString() { StringBuffer sb = new StringBuffer(); sb.append(name); if (!NameDictionary.isDefaultInternalStateName(internalStateName)) { sb.append("~" + internalStateName); } if (linkState.getStatusLinkRank() == LinkRank.SEMI_LINK) { sb.append("!_"); } else if (linkIndex != -1) { sb.append("!" + linkIndex); } else if (linkState.getStatusLink() == LinkStatus.WILDCARD) { sb.append("?"); } return sb.toString(); } }