@Override public Node getArg(final int index) { assert index == 0 || index == 1; return index == (_dir == EdgeDirection.FORWARD ? 0 : 1) ? _edge.getFrom() : _edge.getTo(); }
@Override public Node getArg(final int index) { assert index == 0 || index == 1; return index == (_dir == EdgeDirection.FORWARD ? 0 : 1) ? _edge.getFrom() : _edge.getTo(); }
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 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 boolean hasEdge(final Edge e) { return hasEdge(e.getFrom(), e.getRole(), e.getTo()); }
@Override public boolean activate(final Edge edge) { final Individual subject = initNode(); final Node object = initObjectNode(); final EdgeDirection dir = edgeMatches(edge); if (dir != null && (dir == EdgeDirection.FORWARD ? edge.getFrom() : edge.getTo()).isSame(subject) && (dir == EdgeDirection.BACKWARD ? edge.getFrom() : edge.getTo()).isSame(object)) { activate(WME.createEdge(edge, dir)); return true; } return false; }
@Override public boolean activate(final Edge edge) { final EdgeDirection dir = edgeMatches(edge); final Node object = initNode(); if (dir != null && (dir == EdgeDirection.FORWARD ? edge.getTo() : edge.getFrom()).isSame(object)) { activate(WME.createEdge(edge, dir)); return true; } return false; }
@Override public boolean activate(final Edge edge) { final Individual subject = initNode(); final EdgeDirection dir = edgeMatches(edge); if (dir != null && (dir == EdgeDirection.FORWARD ? edge.getFrom() : edge.getTo()).isSame(subject)) { activate(WME.createEdge(edge, dir)); return true; } return false; }
@Override public boolean activate(final Edge edge) { final Individual subject = initNode(); final EdgeDirection dir = edgeMatches(edge); if (dir != null && (dir == EdgeDirection.FORWARD ? edge.getFrom() : edge.getTo()).isSame(subject)) { activate(WME.createEdge(edge, dir)); return true; } return false; }
@Override public boolean activate(final Edge edge) { final EdgeDirection dir = edgeMatches(edge); final Node object = initNode(); if (dir != null && (dir == EdgeDirection.FORWARD ? edge.getTo() : edge.getFrom()).isSame(object)) { activate(WME.createEdge(edge, dir)); return true; } return false; }
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; }
protected void addOutEdge(final Edge edge) { setChanged(ALL); setChanged(MAX); _applyNext[MAX] = 0; if (edge.getRole().isBottom()) _abox.setClash(Clash.bottomProperty(edge.getFrom(), edge.getDepends(), edge.getRole().getName())); else _outEdges.add(edge); }
protected void addOutEdge(final Edge edge) { setChanged(ALL); setChanged(MAX); _applyNext[MAX] = 0; if (edge.getRole().isBottom()) _abox.setClash(Clash.bottomProperty(edge.getFrom(), edge.getDepends(), edge.getRole().getName())); else _outEdges.add(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); }