Class AbstractValueGraph<N,​V>

    • Constructor Detail

      • AbstractValueGraph

        public AbstractValueGraph()
    • Method Detail

      • asGraph

        public Graph<N> asGraph()
        Description copied from interface: ValueGraph
        Returns a live view of this graph as a Graph. The resulting Graph will have an edge connecting node A to node B if this ValueGraph has an edge connecting A to B.
        Specified by:
        asGraph in interface ValueGraph<N,​V>
      • edgeValue

        public java.util.Optional<V> edgeValue​(N nodeU,
                                               N nodeV)
        Description copied from interface: ValueGraph
        Returns the value of the edge connecting nodeU to nodeV, if one is present; otherwise, returns Optional.empty().

        In an undirected graph, this is equal to edgeValue(nodeV, nodeU).

        Specified by:
        edgeValue in interface ValueGraph<N,​V>
      • equals

        public final boolean equals​(java.lang.Object obj)
        Description copied from interface: ValueGraph
        Returns true iff object is a ValueGraph that has the same elements and the same structural relationships as those in this graph.

        Thus, two value graphs A and B are equal if all of the following are true:

        Graph properties besides directedness do not affect equality. For example, two graphs may be considered equal even if one allows self-loops and the other doesn't. Additionally, the order in which nodes or edges are added to the graph, and the order in which they are iterated over, are irrelevant.

        A reference implementation of this is provided by equals(Object).

        Specified by:
        equals in interface ValueGraph<N,​V>
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Description copied from interface: ValueGraph
        Returns the hash code for this graph. The hash code of a graph is defined as the hash code of a map from each of its edges to the associated edge value.

        A reference implementation of this is provided by hashCode().

        Specified by:
        hashCode in interface ValueGraph<N,​V>
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Returns a string representation of this graph.
        Overrides:
        toString in class java.lang.Object
      • edgeValueMap

        private static <N,​V> java.util.Map<EndpointPair<N>,​V> edgeValueMap​(ValueGraph<N,​V> graph)