package com.plectix.simulator.staticanalysis.subviews;
import java.util.LinkedHashSet;
import com.plectix.simulator.staticanalysis.graphs.Vertex;
public final class SubViewClass extends Vertex {
private final String agentName;
private final LinkedHashSet<String> sitesNames = new LinkedHashSet<String>();
private final LinkedHashSet<Integer> rulesId = new LinkedHashSet<Integer>();
public SubViewClass(String agentName) {
this.agentName = agentName;
}
public final String getAgentType() {
return agentName;
}
public final LinkedHashSet<String> getSitesNames() {
return sitesNames;
}
public final LinkedHashSet<Integer> getRulesId() {
return rulesId;
}
public final void addSite(String siteName) {
sitesNames.add(siteName);
}
public final int hashCode() {
return sitesNames.hashCode();
}
public final boolean hasSite(String siteName) {
return sitesNames.contains(siteName);
}
public final void addRuleId(int rule) {
rulesId.add(rule);
}
public final void addRulesId(LinkedHashSet<Integer> rulesId2) {
rulesId.addAll(rulesId2);
}
@Override
public final String toString() {
StringBuffer sb = new StringBuffer(agentName);
sb.append(" ");
for (String siteName : sitesNames)
sb.append(siteName + " ");
sb.append(" Rules:'");
for (Integer id : rulesId)
sb.append(id + " ");
sb.append("'");
return sb.toString();
}
@Override
public final boolean equals(Object obj) {
if (!(obj instanceof SubViewClass))
return false;
SubViewClass inClass = (SubViewClass) obj;
if (!agentName.equals(inClass.agentName))
return false;
if (!sitesNames.equals(inClass.sitesNames))
return false;
return true;
}
}