Big BrotherRegistration

In this section, you will learn how to register for all event notifications.

A special interface/class pair is available in the Tensegrity Graph API which allows you to register for all events related to a Graph or a VisualGraphView.

Whenever you add a GraphEventMediatorListener to a Graph, you gain access to all occurring Graph, Node and Edge events.

Example 8.3. GraphEventMediatorListener Source Listing

void registerMediatorListener() 
{
  graphModel.addEventMediatorListener(
          new GraphEventMediatorAdapter() 
    {

    // add mediator listener to the graph model
    public void nodeRemoved(GraphEvent graphevent)
    {
      logger.logGraphMediatorListener(graphevent);
    }

    public void edgeRemoved(GraphEvent graphevent)
    {
      logger.logGraphMediatorListener(graphevent);
    }

    public void edgeSplit(GraphEvent graphevent)
    {
      logger.logGraphMediatorListener(graphevent);
    }

    public void nodeDeleteEdgeCascade(GraphEvent graphevent)
    {
      logger.logGraphMediatorListener(graphevent);
    }
  });
  
  // add mediator listener to the graph view
  graphView.addVisualEventMediatorListener(
    new VisualGraphEventMediatorAdapter() 
    {
      public void visualNodeRemoved(VisualGraphEvent visualgraphevent)
      {
        logger.logVisualGraphMediatorListener(visualgraphevent);
      }
  
      public void visualEdgeRemoved(VisualGraphEvent visualgraphevent)
      {
        logger.logVisualGraphMediatorListener(visualgraphevent);
      }
  
      public void layout(VisualGraphEvent visualgraphevent)
      {
        logger.logVisualGraphMediatorListener(visualgraphevent);
      }
  
      public void visualEdgeSplit(VisualGraphEvent visualgraphevent)
      {
        logger.logVisualGraphMediatorListener(visualgraphevent);
      }
  });
}

The above implementation of class GraphEventMediatorAdapter provides an object which listens for all types of Graph events. Please view our javadocs for more information about this implementation class and the GraphEventMediatorListener interface.