@Override public void addInEdge(E edge, N node, boolean isSelfLoop) { if (!isSelfLoop) { addOutEdge(edge, node); } }
@Override public Set<N> predecessors() { return adjacentNodes(); }
@Override public Set<E> inEdges() { return incidentEdges(); }
@Override public N removeInEdge(E edge, boolean isSelfLoop) { if (!isSelfLoop) { return removeOutEdge(edge); } return null; }
@Override public N removeInEdge(E edge, boolean isSelfLoop) { if (!isSelfLoop) { return removeOutEdge(edge); } return null; }
@Override public void addInEdge(E edge, N node, boolean isSelfLoop) { if (!isSelfLoop) { addOutEdge(edge, node); } }
@Override public N removeInEdge(E edge, boolean isSelfLoop) { if (!isSelfLoop) { return removeOutEdge(edge); } return null; }
@Override public Set<E> outEdges() { return incidentEdges(); }
@Override public Set<N> successors() { return adjacentNodes(); }
@Override public void addInEdge(E edge, N node, boolean isSelfLoop) { if (!isSelfLoop) { addOutEdge(edge, node); } }
@Override public N removeOutEdge(E edge) { N node = super.removeOutEdge(edge); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.remove(node)); } return node; }
@Override public Set<E> inEdges() { return incidentEdges(); }
@Override public Set<N> predecessors() { return adjacentNodes(); }
@Override public void addOutEdge(E edge, N node) { super.addOutEdge(edge, node); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.add(node)); } }
@Override public N removeOutEdge(E edge) { N node = super.removeOutEdge(edge); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.remove(node)); } return node; }
@Override public Set<E> outEdges() { return incidentEdges(); }
@Override public Set<N> successors() { return adjacentNodes(); }
@Override public void addOutEdge(E edge, N node) { super.addOutEdge(edge, node); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.add(node)); } }
@Override public N removeOutEdge(E edge) { N node = super.removeOutEdge(edge); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.remove(node)); } return node; }
@Override public Set<E> inEdges() { return incidentEdges(); }