package com.plectix.simulator.parser.abstractmodel; import com.plectix.simulator.staticanalysis.LinkRank; import com.plectix.simulator.staticanalysis.LinkStatus; public final class ModelLink { private LinkStatus linkStatus; private ModelSite linkedSite = null; public ModelLink() { linkStatus = LinkStatus.FREE; } public final void setStatusLink(LinkStatus status) { linkStatus = status; } public final LinkStatus getStatusLink() { return linkStatus; } public final void setSite(ModelSite csite) { linkedSite = csite; if (linkedSite != null) linkStatus = LinkStatus.BOUND; } public final LinkRank getStatusLinkRank() { switch (linkStatus) { case BOUND: if (linkedSite != null) return LinkRank.BOUND; else return LinkRank.SEMI_LINK; case WILDCARD: return LinkRank.BOUND_OR_FREE; default: return LinkRank.FREE; } } }