package com.plectix.simulator.staticanalysis.stories.storage;
import com.plectix.simulator.staticanalysis.Site;
import com.plectix.simulator.util.NameDictionary;
public final class StateOfLink {
private final long agentId;
private final String siteName;
public StateOfLink() {
agentId = -1;
siteName = Site.DEFAULT_NAME;
}
public StateOfLink(long agentId, String siteName) {
this.agentId = agentId;
this.siteName = siteName;
}
public final long getAgentId() {
return agentId;
}
public final String getSiteName() {
return siteName;
}
public final boolean isFree() {
if (agentId == -1 && NameDictionary.isDefaultSiteName(siteName))
return true;
return false;
}
// public final void setState(StateOfLink newState) {
// this.agentId = newState.getAgentId();
// this.siteName = newState.getSiteName();
// }
@Override
public final boolean equals(Object obj) {
if (obj == null || !(obj instanceof StateOfLink))
return false;
StateOfLink statein = (StateOfLink) obj;
return agentId == statein.agentId && siteName.equals(statein.siteName);
}
private static final int getResult(int result, Object constant) {
return 37 * result + constant.hashCode();
}
@Override
public final int hashCode() {
int result = 101;
result = getResult(result, (int) (agentId ^ (agentId >>> 32)));
result = getResult(result, siteName);
return result;
}
@Override
public final String toString() {
String str;
if (agentId != -1)
str = "agentId=" + agentId + " siteId=" + siteName;
else
str = "agentId=FREE" + " siteId=FREE";
return str;
}
}