public Set<Role> getRoles() { final Set<Role> result = new HashSet<>(); for (final Edge e : this) result.add(e.getRole()); return result; }
public Set<Role> getRoles() { final Set<Role> result = new HashSet<>(); for (final Edge e : this) result.add(e.getRole()); return result; }
public DependencyEntry(final DependencyEntry that) { _types.addAll(that._types); //TODO:may need to perform a deep copy here _merges.addAll(that._merges); //TODO:may need to perform a deep copy here for (final Edge next : that._edges) //copy edge depenedencies _edges.add(new DefaultEdge(next.getRole(), next.getFrom(), next.getTo(), next.getDepends())); _branchAdds.addAll(that._branchAdds); //TODO:may need to perform a deep copy here _branchCloses.addAll(that._branchCloses); //TODO:may need to perform a deep copy here _clash = that._clash; //TODO:may need to perform a deep copy here }
public DependencyEntry(final DependencyEntry that) { _types.addAll(that._types); //TODO:may need to perform a deep copy here _merges.addAll(that._merges); //TODO:may need to perform a deep copy here for (final Edge next : that._edges) //copy edge depenedencies _edges.add(new DefaultEdge(next.getRole(), next.getFrom(), next.getTo(), next.getDepends())); _branchAdds.addAll(that._branchAdds); //TODO:may need to perform a deep copy here _branchCloses.addAll(that._branchCloses); //TODO:may need to perform a deep copy here _clash = that._clash; //TODO:may need to perform a deep copy here }
@Override public String toString() { final boolean isFwd = _dir == EdgeDirection.FORWARD; return String.format("%s%s-%s-%s%s %s", _edge.getFrom(), isFwd ? "" : "<", _edge.getRole(), isFwd ? ">" : "", _edge.getTo(), _edge.getDepends()); } }
@Override public String toString() { final boolean isFwd = _dir == EdgeDirection.FORWARD; return String.format("%s%s-%s-%s%s %s", _edge.getFrom(), isFwd ? "" : "<", _edge.getRole(), isFwd ? ">" : "", _edge.getTo(), _edge.getDepends()); } }
public Edge getExactEdge(final Individual from, final Role role, final Node to) { for (final Edge e : this) if ((from == null || from.equals(e.getFrom())) && (role == null || e.getRole().equals(role)) && (to == null || to.equals(e.getTo()))) return e; return null; }
public EdgeList getEdges(final Role role) { final EdgeList result = new EdgeList(); for (final Edge e : this) if (e.getRole().isSubRoleOf(role)) result.addEdge(e); return result; }
public EdgeList getEdges(final Role role) { final EdgeList result = new EdgeList(); for (final Edge e : this) if (e.getRole().isSubRoleOf(role)) result.addEdge(e); return result; }
public Edge getExactEdge(final Individual from, final Role role, final Node to) { for (final Edge e : this) if ((from == null || from.equals(e.getFrom())) && (role == null || e.getRole().equals(role)) && (to == null || to.equals(e.getTo()))) return e; return null; }
public void activateEdge(final Edge edge) { Role r = edge.getRole(); if (r.isAnon()) r = r.getInverse(); final List<AlphaNode> alphas = _map.get(r.getName()); if (alphas != null) for (final AlphaNode alpha : alphas) ((AlphaEdgeNode) alpha).activate(edge); }
public void activateEdge(final Edge edge) { Role r = edge.getRole(); if (r.isAnon()) r = r.getInverse(); final List<AlphaNode> alphas = _map.get(r.getName()); if (alphas != null) for (final AlphaNode alpha : alphas) ((AlphaEdgeNode) alpha).activate(edge); }
protected WME createEdge(final Edge edge, final EdgeDirection dir) { if (_doExplanation) { final DependencySet ds = dir == EdgeDirection.FORWARD ? _role.getExplainSub(edge.getRole().getName()) : _role.getInverse().getExplainSub(edge.getRole().getName()); if (!ds.getExplain().isEmpty()) return WME.createEdge(new DefaultEdge(edge.getRole(), edge.getFrom(), edge.getTo(), edge.getDepends().union(ds, _doExplanation)), dir); } return WME.createEdge(edge, dir); }
protected WME createEdge(final Edge edge, final EdgeDirection dir) { if (_doExplanation) { final DependencySet ds = dir == EdgeDirection.FORWARD ? _role.getExplainSub(edge.getRole().getName()) : _role.getInverse().getExplainSub(edge.getRole().getName()); if (!ds.getExplain().isEmpty()) return WME.createEdge(new DefaultEdge(edge.getRole(), edge.getFrom(), edge.getTo(), edge.getDepends().union(ds, _doExplanation)), dir); } return WME.createEdge(edge, dir); }
protected EdgeDirection edgeMatches(final Edge edge) { final Role edgeRole = edge.getRole(); final boolean isFwd = edgeRole.isSubRoleOf(_role); final boolean isBwd = _role.getInverse() != null && edgeRole.isSubRoleOf(_role.getInverse()); return isFwd ? isBwd ? EdgeDirection.BOTH : EdgeDirection.FORWARD : isBwd ? EdgeDirection.BACKWARD : null; }
protected EdgeDirection edgeMatches(final Edge edge) { final Role edgeRole = edge.getRole(); final boolean isFwd = edgeRole.isSubRoleOf(_role); final boolean isBwd = _role.getInverse() != null && edgeRole.isSubRoleOf(_role.getInverse()); return isFwd ? isBwd ? EdgeDirection.BOTH : EdgeDirection.FORWARD : isBwd ? EdgeDirection.BACKWARD : null; }
private EdgeList findEdges(final Role role, final Individual from, final Node to) { final EdgeList result = new EdgeList(); for (final Edge e : this) if ((from == null || from.equals(e.getFrom())) && (role == null || e.getRole().isSubRoleOf(role)) && (to == null || to.equals(e.getTo()))) result.addEdge(e); return result; }
private EdgeList findEdges(final Role role, final Individual from, final Node to) { final EdgeList result = new EdgeList(); for (final Edge e : this) if ((from == null || from.equals(e.getFrom())) && (role == null || e.getRole().isSubRoleOf(role)) && (to == null || to.equals(e.getTo()))) result.addEdge(e); return result; }