Class Graphs.TransposedGraph<N>

    • Field Detail

      • graph

        private final Graph<N> graph
    • Constructor Detail

      • TransposedGraph

        TransposedGraph​(Graph<N> graph)
    • Method Detail

      • inDegree

        public int inDegree​(N node)
        Description copied from interface: BaseGraph
        Returns the count of node's incoming edges (equal to predecessors(node).size()) in a directed graph. In an undirected graph, returns the BaseGraph.degree(Object).

        If the count is greater than Integer.MAX_VALUE, returns Integer.MAX_VALUE.

        Specified by:
        inDegree in interface BaseGraph<N>
        Specified by:
        inDegree in interface Graph<N>
        Overrides:
        inDegree in class ForwardingGraph<N>
      • outDegree

        public int outDegree​(N node)
        Description copied from interface: BaseGraph
        Returns the count of node's outgoing edges (equal to successors(node).size()) in a directed graph. In an undirected graph, returns the BaseGraph.degree(Object).

        If the count is greater than Integer.MAX_VALUE, returns Integer.MAX_VALUE.

        Specified by:
        outDegree in interface BaseGraph<N>
        Specified by:
        outDegree in interface Graph<N>
        Overrides:
        outDegree in class ForwardingGraph<N>
      • hasEdgeConnecting

        public boolean hasEdgeConnecting​(N nodeU,
                                         N nodeV)
        Description copied from interface: BaseGraph
        Returns true if there is an edge that directly connects nodeU to nodeV. This is equivalent to nodes().contains(nodeU) && successors(nodeU).contains(nodeV).

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

        Specified by:
        hasEdgeConnecting in interface BaseGraph<N>
        Specified by:
        hasEdgeConnecting in interface Graph<N>
        Overrides:
        hasEdgeConnecting in class ForwardingGraph<N>
      • hasEdgeConnecting

        public boolean hasEdgeConnecting​(EndpointPair<N> endpoints)
        Description copied from interface: BaseGraph
        Returns true if there is an edge that directly connects endpoints (in the order, if any, specified by endpoints). This is equivalent to edges().contains(endpoints).

        Unlike the other EndpointPair-accepting methods, this method does not throw if the endpoints are unordered; it simply returns false. This is for consistency with the behavior of Collection#contains(Object) (which does not generally throw if the object cannot be present in the collection), and the desire to have this method's behavior be compatible with edges().contains(endpoints).

        Specified by:
        hasEdgeConnecting in interface BaseGraph<N>
        Specified by:
        hasEdgeConnecting in interface Graph<N>
        Overrides:
        hasEdgeConnecting in class ForwardingGraph<N>