@Override public ImmutableGraph<N> asGraph() { return new ImmutableGraph<N>(super.asGraph()); // safe because the view is effectively immutable }
@Override public Set<E> outEdges(N node) { return checkedConnections(node).outEdges(); }
@Override public EndpointPair<N> incidentNodes(E edge) { N nodeU = checkedReferenceNode(edge); N nodeV = nodeConnections.get(nodeU).adjacentNode(edge); return EndpointPair.of(this, nodeU, nodeV); }
@Override public Set<E> edgesConnecting(N nodeU, N nodeV) { NetworkConnections<N, E> connectionsU = checkedConnections(nodeU); if (!allowsSelfLoops && nodeU == nodeV) { // just an optimization, only check reference equality return ImmutableSet.of(); } checkArgument(containsNode(nodeV), NODE_NOT_IN_GRAPH, nodeV); return connectionsU.edgesConnecting(nodeV); }
@Override public Set<E> edgesConnecting(N nodeU, N nodeV) { NetworkConnections<N, E> connectionsU = checkedConnections(nodeU); if (!allowsSelfLoops && nodeU == nodeV) { // just an optimization, only check reference equality return ImmutableSet.of(); } checkArgument(containsNode(nodeV), NODE_NOT_IN_GRAPH, nodeV); return connectionsU.edgesConnecting(nodeV); }
@Override public Set<E> incidentEdges(N node) { return checkedConnections(node).incidentEdges(); }
@Override public Set<E> edgesConnecting(N nodeU, N nodeV) { NetworkConnections<N, E> connectionsU = checkedConnections(nodeU); if (!allowsSelfLoops && nodeU == nodeV) { // just an optimization, only check reference equality return ImmutableSet.of(); } checkArgument(containsNode(nodeV), NODE_NOT_IN_GRAPH, nodeV); return connectionsU.edgesConnecting(nodeV); }
@Override public EndpointPair<N> incidentNodes(E edge) { N nodeU = checkedReferenceNode(edge); N nodeV = nodeConnections.get(nodeU).adjacentNode(edge); return EndpointPair.of(this, nodeU, nodeV); }
@Override public ImmutableGraph<N> asGraph() { return new ImmutableGraph<N>(super.asGraph()); // safe because the view is effectively immutable }
@Override public Set<N> predecessors(N node) { return checkedConnections(node).predecessors(); }
@Override public Set<E> edgesConnecting(N nodeU, N nodeV) { NetworkConnections<N, E> connectionsU = checkedConnections(nodeU); if (!allowsSelfLoops && nodeU == nodeV) { // just an optimization, only check reference equality return ImmutableSet.of(); } checkArgument(containsNode(nodeV), NODE_NOT_IN_GRAPH, nodeV); return connectionsU.edgesConnecting(nodeV); }
@Override public EndpointPair<N> incidentNodes(E edge) { N nodeU = checkedReferenceNode(edge); N nodeV = nodeConnections.get(nodeU).adjacentNode(edge); return EndpointPair.of(this, nodeU, nodeV); }
@Override public ImmutableGraph<N> asGraph() { return new ImmutableGraph<N>(super.asGraph()); // safe because the view is effectively immutable }
@Override public Set<N> successors(N node) { return checkedConnections(node).successors(); }
@Override public Set<E> edgesConnecting(N nodeU, N nodeV) { NetworkConnections<N, E> connectionsU = checkedConnections(nodeU); if (!allowsSelfLoops && nodeU == nodeV) { // just an optimization, only check reference equality return ImmutableSet.of(); } checkArgument(containsNode(nodeV), NODE_NOT_IN_GRAPH, nodeV); return connectionsU.edgesConnecting(nodeV); }
@Override public EndpointPair<N> incidentNodes(E edge) { N nodeU = checkedReferenceNode(edge); N nodeV = nodeConnections.get(nodeU).adjacentNode(edge); return EndpointPair.of(this, nodeU, nodeV); }
@Override public ImmutableGraph<N> asGraph() { return new ImmutableGraph<N>(super.asGraph()); // safe because the view is effectively immutable }
@Override public Set<E> inEdges(N node) { return checkedConnections(node).inEdges(); }
@Override public EndpointPair<N> incidentNodes(E edge) { N nodeU = checkedReferenceNode(edge); N nodeV = nodeConnections.get(nodeU).adjacentNode(edge); return EndpointPair.of(this, nodeU, nodeV); }
@Override public ImmutableGraph<N> asGraph() { return new ImmutableGraph<N>(super.asGraph()); // safe because the view is effectively immutable }