Interface GraphListener

  • All Known Subinterfaces:
    GraphEventManager
    All Known Implementing Classes:
    ModelListenerAdapter, SimpleEventManager

    public interface GraphListener
    Interface for listening to graph-level update events. Each time the graph is poked to add or remove some triples, and after that poke has completed without throwing an exception, all the listeners attached to the Graph are informed about the poke.

    The notifications are, in general, given before further changes to the graph are made. Listeners are discouraged from making further modifications to the same graph since that will invalidate this property for other listeners.

    Some modifications may result in multiple notifications in some cases. For example, a bulk notification with notifyAddArray(Graph, Triple[]), may, or may not, be accompanied by several notifyAddTriple(Graph, Triple) notifications, one for each triple. If possible, Graph implementations should avoid such duplicate notifications and only give the bulk notifications, see GraphWithPerform. When these duplicate notifications occur, each should happen immediately after the change it signifies is complete. Thus, in the previous example, if the array has two triples, the pattern is:

    1. The first triple is added.
    2. notifyAddTriple(Graph, Triple) for the first triple.
    3. The second triple is added.
    4. notifyAddTriple(Graph, Triple) for the second triple.
    5. notifyAddArray(Graph, Triple[]) for the array.

    To track all changes to a graph it is necessary to consider all the methods in this interface, including notifyEvent(Graph, Object).

    • Method Detail

      • notifyAddTriple

        void notifyAddTriple​(Graph g,
                             Triple t)
        Method called when a single triple has been added to the graph.
      • notifyAddArray

        void notifyAddArray​(Graph g,
                            Triple[] triples)
        Method called when an array of triples has been added to the graph.
      • notifyAddList

        void notifyAddList​(Graph g,
                           java.util.List<Triple> triples)
        Method called when a list [of triples] has been added to the graph.
      • notifyAddIterator

        void notifyAddIterator​(Graph g,
                               java.util.Iterator<Triple> it)
        Method called when an iterator [of triples] has been added to the graph
      • notifyAddGraph

        void notifyAddGraph​(Graph g,
                            Graph added)
        Method called when another graph g has been used to specify the triples added to our attached graph.
        Parameters:
        g - the graph of triples added
      • notifyDeleteTriple

        void notifyDeleteTriple​(Graph g,
                                Triple t)
        Method called when a single triple has been deleted from the graph.
      • notifyDeleteList

        void notifyDeleteList​(Graph g,
                              java.util.List<Triple> L)
        Method called when a list [of triples] has been deleted from the graph.
      • notifyDeleteArray

        void notifyDeleteArray​(Graph g,
                               Triple[] triples)
        Method called when an array of triples has been deleted from the graph.
      • notifyDeleteIterator

        void notifyDeleteIterator​(Graph g,
                                  java.util.Iterator<Triple> it)
        Method called when an iterator [of triples] has been deleted from the graph.
      • notifyDeleteGraph

        void notifyDeleteGraph​(Graph g,
                               Graph removed)
        Method to call when another graph has been used to specify the triples deleted from our attached graph.
        Parameters:
        g - the graph of triples added
      • notifyEvent

        void notifyEvent​(Graph source,
                         java.lang.Object value)
        method to call for a general event. value is usually a GraphEvents. Special attention is drawn to GraphEvents.removeAll and events whose GraphEvents.getTitle() is "remove" (see GraphEvents.remove(Node, Node, Node). Unlike other notifications, the listener cannot tell which triples have been modified, since they have already been deleted by the time this event is sent, and the event does not include a record of them.
        Parameters:
        value -