Interface GraphListener

All Known Subinterfaces:
GraphEventManager
All Known Implementing Classes:
GraphListenerBase, 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 Details

    • 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, List<Triple> triples)
      Method called when a list [of triples] has been added to the graph.
    • notifyAddIterator

      void notifyAddIterator(Graph g, 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, 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, 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, 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 -