Class Graph<V>

    • Constructor Detail

      • Graph

        public Graph()
    • Method Detail

      • insertEdge

        public void insertEdge​(V source,
                               V target)
      • deleteEdgeIfExists

        public void deleteEdgeIfExists​(V source,
                                       V target)
        No-op if trying to delete edge that does not exist
        Since:
        2.0
        See Also:
        deleteEdgeIfExists(Object, Object)
      • deleteEdgeThatExists

        public void deleteEdgeThatExists​(V source,
                                         V target)
        Throws:
        java.lang.IllegalStateException - if trying to delete edge that does not exist
        Since:
        2.0
        See Also:
        deleteEdgeIfExists(Object, Object)
      • insertNode

        public void insertNode​(V node)
        Insert the given node into the graph.
      • deleteNode

        public void deleteNode​(V node)
        Deletes the given node AND all of the edges going in and out from the node.
      • attachObserver

        public void attachObserver​(IGraphObserver<V> go)
        Description copied from interface: IGraphDataSource
        Attaches a new graph observer to this graph data source. Observers will be notified in the order they have been registered.
        Specified by:
        attachObserver in interface IGraphDataSource<V>
        Parameters:
        go - the graph observer
      • attachAsFirstObserver

        public void attachAsFirstObserver​(IGraphObserver<V> observer)
        Description copied from interface: IGraphDataSource
        Attaches a new graph observer to this graph data source as the first one. In the notification order this observer will be the first one as long as another call to this method happens.
        Specified by:
        attachAsFirstObserver in interface IGraphDataSource<V>
        Parameters:
        observer - the graph observer
      • getAllNodes

        public java.util.Set<V> getAllNodes()
        Description copied from interface: IGraphDataSource
        Returns the complete set of nodes in the graph data source.
        Specified by:
        getAllNodes in interface IGraphDataSource<V>
        Returns:
        the set of all nodes
      • getTargetNodes

        public IMemoryView<V> getTargetNodes​(V source)
        Description copied from interface: IGraphDataSource
        Returns the target nodes for the given source node. The returned data structure is an IMultiset because of potential parallel edges in the graph data source. The method must not return null.
        Specified by:
        getTargetNodes in interface IGraphDataSource<V>
        Parameters:
        source - the source node
        Returns:
        the multiset of target nodes
      • getSourceNodes

        public IMemoryView<V> getSourceNodes​(V target)
        Description copied from interface: IBiDirectionalGraphDataSource
        Returns the source nodes for the given target node. The returned data structure is an IMultiset because of potential parallel edges in the graph data source. The method must not return null.
        Specified by:
        getSourceNodes in interface IBiDirectionalGraphDataSource<V>
        Parameters:
        target - the target node
        Returns:
        the multiset of source nodes
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object