static <N, E> DirectedNetworkConnections<N, E> of() { return new DirectedNetworkConnections<>( HashBiMap.<E, N>create(EXPECTED_DEGREE), HashBiMap.<E, N>create(EXPECTED_DEGREE), 0); }
private NetworkConnections<N, E> newConnections() { return isDirected() ? allowsParallelEdges() ? DirectedMultiNetworkConnections.<N, E>of() : DirectedNetworkConnections.<N, E>of() : allowsParallelEdges() ? UndirectedMultiNetworkConnections.<N, E>of() : UndirectedNetworkConnections.<N, E>of(); } }
private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) { if (network.isDirected()) { Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network)); Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network)); int selfLoopCount = network.edgesConnecting(node, node).size(); return network.allowsParallelEdges() ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount) : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount); } else { Map<E, N> incidentEdgeMap = Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node)); return network.allowsParallelEdges() ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap) : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap); } }
private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) { if (network.isDirected()) { Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network)); Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network)); int selfLoopCount = network.edgesConnecting(node, node).size(); return network.allowsParallelEdges() ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount) : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount); } else { Map<E, N> incidentEdgeMap = Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node)); return network.allowsParallelEdges() ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap) : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap); } }
static <N, E> DirectedNetworkConnections<N, E> of() { return new DirectedNetworkConnections<>( HashBiMap.<E, N>create(EXPECTED_DEGREE), HashBiMap.<E, N>create(EXPECTED_DEGREE), 0); }
private NetworkConnections<N, E> newConnections() { return isDirected() ? allowsParallelEdges() ? DirectedMultiNetworkConnections.<N, E>of() : DirectedNetworkConnections.<N, E>of() : allowsParallelEdges() ? UndirectedMultiNetworkConnections.<N, E>of() : UndirectedNetworkConnections.<N, E>of(); } }
private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) { if (network.isDirected()) { Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network)); Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network)); int selfLoopCount = network.edgesConnecting(node, node).size(); return network.allowsParallelEdges() ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount) : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount); } else { Map<E, N> incidentEdgeMap = Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node)); return network.allowsParallelEdges() ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap) : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap); } }
static <N, E> DirectedNetworkConnections<N, E> of() { return new DirectedNetworkConnections<>( HashBiMap.<E, N>create(EXPECTED_DEGREE), HashBiMap.<E, N>create(EXPECTED_DEGREE), 0); }
private NetworkConnections<N, E> newConnections() { return isDirected() ? allowsParallelEdges() ? DirectedMultiNetworkConnections.<N, E>of() : DirectedNetworkConnections.<N, E>of() : allowsParallelEdges() ? UndirectedMultiNetworkConnections.<N, E>of() : UndirectedNetworkConnections.<N, E>of(); } }
private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) { if (network.isDirected()) { Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network)); Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network)); int selfLoopCount = network.edgesConnecting(node, node).size(); return network.allowsParallelEdges() ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount) : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount); } else { Map<E, N> incidentEdgeMap = Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node)); return network.allowsParallelEdges() ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap) : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap); } }
static <N, E> DirectedNetworkConnections<N, E> ofImmutable( Map<E, N> inEdges, Map<E, N> outEdges, int selfLoopCount) { return new DirectedNetworkConnections<>( ImmutableBiMap.copyOf(inEdges), ImmutableBiMap.copyOf(outEdges), selfLoopCount); }
private NetworkConnections<N, E> newConnections() { return isDirected() ? allowsParallelEdges() ? DirectedMultiNetworkConnections.<N, E>of() : DirectedNetworkConnections.<N, E>of() : allowsParallelEdges() ? UndirectedMultiNetworkConnections.<N, E>of() : UndirectedNetworkConnections.<N, E>of(); } }
private static <N, E> NetworkConnections<N, E> connectionsOf(Network<N, E> network, N node) { if (network.isDirected()) { Map<E, N> inEdgeMap = Maps.asMap(network.inEdges(node), sourceNodeFn(network)); Map<E, N> outEdgeMap = Maps.asMap(network.outEdges(node), targetNodeFn(network)); int selfLoopCount = network.edgesConnecting(node, node).size(); return network.allowsParallelEdges() ? DirectedMultiNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount) : DirectedNetworkConnections.ofImmutable(inEdgeMap, outEdgeMap, selfLoopCount); } else { Map<E, N> incidentEdgeMap = Maps.asMap(network.incidentEdges(node), adjacentNodeFn(network, node)); return network.allowsParallelEdges() ? UndirectedMultiNetworkConnections.ofImmutable(incidentEdgeMap) : UndirectedNetworkConnections.ofImmutable(incidentEdgeMap); } }
static <N, E> DirectedNetworkConnections<N, E> ofImmutable( Map<E, N> inEdges, Map<E, N> outEdges, int selfLoopCount) { return new DirectedNetworkConnections<>( ImmutableBiMap.copyOf(inEdges), ImmutableBiMap.copyOf(outEdges), selfLoopCount); }
private NetworkConnections<N, E> newConnections() { return isDirected() ? allowsParallelEdges() ? DirectedMultiNetworkConnections.<N, E>of() : DirectedNetworkConnections.<N, E>of() : allowsParallelEdges() ? UndirectedMultiNetworkConnections.<N, E>of() : UndirectedNetworkConnections.<N, E>of(); } }
static <N, E> DirectedNetworkConnections<N, E> ofImmutable( Map<E, N> inEdges, Map<E, N> outEdges, int selfLoopCount) { return new DirectedNetworkConnections<>( ImmutableBiMap.copyOf(inEdges), ImmutableBiMap.copyOf(outEdges), selfLoopCount); }
static <N, E> DirectedNetworkConnections<N, E> of() { return new DirectedNetworkConnections<>( HashBiMap.<E, N>create(EXPECTED_DEGREE), HashBiMap.<E, N>create(EXPECTED_DEGREE), 0); }
static <N, E> DirectedNetworkConnections<N, E> of() { return new DirectedNetworkConnections<>( HashBiMap.<E, N>create(EXPECTED_DEGREE), HashBiMap.<E, N>create(EXPECTED_DEGREE), 0); }
static <N, E> DirectedNetworkConnections<N, E> ofImmutable( Map<E, N> inEdges, Map<E, N> outEdges, int selfLoopCount) { return new DirectedNetworkConnections<>( ImmutableBiMap.copyOf(inEdges), ImmutableBiMap.copyOf(outEdges), selfLoopCount); }
static <N, E> DirectedNetworkConnections<N, E> ofImmutable( Map<E, N> inEdges, Map<E, N> outEdges, int selfLoopCount) { return new DirectedNetworkConnections<>( ImmutableBiMap.copyOf(inEdges), ImmutableBiMap.copyOf(outEdges), selfLoopCount); }