private Multiset<N> adjacentNodesMultiset() { Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes == null) { adjacentNodes = HashMultiset.create(incidentEdgeMap.values()); adjacentNodesReference = new SoftReference<>(adjacentNodes); } 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)); } }
private Multiset<N> adjacentNodesMultiset() { Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes == null) { adjacentNodes = HashMultiset.create(incidentEdgeMap.values()); adjacentNodesReference = new SoftReference<>(adjacentNodes); } return adjacentNodes; }
@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; }
private Multiset<N> adjacentNodesMultiset() { Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes == null) { adjacentNodes = HashMultiset.create(incidentEdgeMap.values()); adjacentNodesReference = new SoftReference<>(adjacentNodes); } 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 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 N removeOutEdge(E edge) { N node = super.removeOutEdge(edge); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.remove(node)); } return node; }
private Multiset<N> adjacentNodesMultiset() { Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes == null) { adjacentNodes = HashMultiset.create(incidentEdgeMap.values()); adjacentNodesReference = new SoftReference<>(adjacentNodes); } return adjacentNodes; }
private Multiset<N> adjacentNodesMultiset() { Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes == null) { adjacentNodes = HashMultiset.create(incidentEdgeMap.values()); adjacentNodesReference = new SoftReference<>(adjacentNodes); } 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 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 N removeOutEdge(E edge) { N node = super.removeOutEdge(edge); Multiset<N> adjacentNodes = getReference(adjacentNodesReference); if (adjacentNodes != null) { checkState(adjacentNodes.remove(node)); } return node; }