org.graphstream.util
Class VerboseSink

java.lang.Object
  extended by org.graphstream.util.VerboseSink
All Implemented Interfaces:
AttributeSink, ElementSink, Sink

public class VerboseSink
extends Object
implements Sink

A sink that can be used to display event in a PrintStream like System.out. Format of messages can be customized, inserting keywords quoted with '%' in the format. '%sourceId%' and '%timeId%' keywords are defined for each event. Following defines keywords available for each event types:

ADD_NODE
ADD_NODE_ATTRIBUTE
SET_NODE_ATTRIBUTE
DEL_NODE_ATTRIBUTE
DEL_NODE
ADD_EDGE
ADD_EDGE_ATTRIBUTE
SET_EDGE_ATTRIBUTE
DEL_EDGE_ATTRIBUTE
DEL_EDGE
ADD_GRAPH_ATTRIBUTE
SET_GRAPH_ATTRIBUTE
DEL_GRAPH_ATTRIBUTE
CLEAR
STEP_BEGINS


Nested Class Summary
static class VerboseSink.EventType
          Enumeration defining type of events.
 
Field Summary
static String DEFAULT_AE_FORMAT
           
static String DEFAULT_AN_FORMAT
           
static String DEFAULT_CEA_FORMAT
           
static String DEFAULT_CEC_FORMAT
           
static String DEFAULT_CER_FORMAT
           
static String DEFAULT_CGA_FORMAT
           
static String DEFAULT_CGC_FORMAT
           
static String DEFAULT_CGR_FORMAT
           
static String DEFAULT_CL_FORMAT
           
static String DEFAULT_CNA_FORMAT
           
static String DEFAULT_CNC_FORMAT
           
static String DEFAULT_CNR_FORMAT
           
static String DEFAULT_DE_FORMAT
           
static String DEFAULT_DN_FORMAT
           
static String DEFAULT_ST_FORMAT
           
 
Constructor Summary
VerboseSink()
          Create a new verbose sink using System.out.
VerboseSink(PrintStream out)
          Create a new verbose sink.
 
Method Summary
 void edgeAdded(String sourceId, long timeId, String edgeId, String fromNodeId, String toNodeId, boolean directed)
          An edge was inserted in graph.
 void edgeAttributeAdded(String sourceId, long timeId, String edgeId, String attribute, Object value)
          A edge attribute was added.
 void edgeAttributeChanged(String sourceId, long timeId, String edgeId, String attribute, Object oldValue, Object newValue)
          A edge attribute was changed.
 void edgeAttributeRemoved(String sourceId, long timeId, String edgeId, String attribute)
          A edge attribute was removed.
 void edgeRemoved(String sourceId, long timeId, String edgeId)
          An edge of graph was removed.The nodes the edge connects may already have been removed from the graph.
 void graphAttributeAdded(String sourceId, long timeId, String attribute, Object value)
          A graph attribute was added.
 void graphAttributeChanged(String sourceId, long timeId, String attribute, Object oldValue, Object newValue)
          A graph attribute was changed.
 void graphAttributeRemoved(String sourceId, long timeId, String attribute)
          A graph attribute was removed.
 void graphCleared(String sourceId, long timeId)
          The whole graph was cleared.
 void nodeAdded(String sourceId, long timeId, String nodeId)
          A node was inserted in the given graph.
 void nodeAttributeAdded(String sourceId, long timeId, String nodeId, String attribute, Object value)
          A node attribute was added.
 void nodeAttributeChanged(String sourceId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue)
          A node attribute was changed.
 void nodeAttributeRemoved(String sourceId, long timeId, String nodeId, String attribute)
          A node attribute was removed.
 void nodeRemoved(String sourceId, long timeId, String nodeId)
          A node was removed from the graph.
 void setAttributeEventEnabled(boolean on)
          Enable or disable all messages associated with element events.
 void setAutoFlush(boolean on)
          Enable or disable autoflush.
 void setElementEventEnabled(boolean on)
          Enable or disable all messages associated with attribute events.
 void setEventEnabled(VerboseSink.EventType type, boolean on)
          Enable or disable an event.
 void setEventFormat(VerboseSink.EventType type, String format)
          Redefines message format of an event.
 void setPrefix(String prefix)
          Set prefix used in messages.
 void setSuffix(String suffix)
          Set suffix used in messages.
 void stepBegins(String sourceId, long timeId, double step)
           Since dynamic graphs are based on discrete event modifications, the notion of step is defined to simulate elapsed time between events.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_AN_FORMAT

public static final String DEFAULT_AN_FORMAT
See Also:
Constant Field Values

DEFAULT_CNA_FORMAT

public static final String DEFAULT_CNA_FORMAT
See Also:
Constant Field Values

DEFAULT_CNC_FORMAT

public static final String DEFAULT_CNC_FORMAT
See Also:
Constant Field Values

DEFAULT_CNR_FORMAT

public static final String DEFAULT_CNR_FORMAT
See Also:
Constant Field Values

DEFAULT_DN_FORMAT

public static final String DEFAULT_DN_FORMAT
See Also:
Constant Field Values

DEFAULT_AE_FORMAT

public static final String DEFAULT_AE_FORMAT
See Also:
Constant Field Values

DEFAULT_CEA_FORMAT

public static final String DEFAULT_CEA_FORMAT
See Also:
Constant Field Values

DEFAULT_CEC_FORMAT

public static final String DEFAULT_CEC_FORMAT
See Also:
Constant Field Values

DEFAULT_CER_FORMAT

public static final String DEFAULT_CER_FORMAT
See Also:
Constant Field Values

DEFAULT_DE_FORMAT

public static final String DEFAULT_DE_FORMAT
See Also:
Constant Field Values

DEFAULT_CGA_FORMAT

public static final String DEFAULT_CGA_FORMAT
See Also:
Constant Field Values

DEFAULT_CGC_FORMAT

public static final String DEFAULT_CGC_FORMAT
See Also:
Constant Field Values

DEFAULT_CGR_FORMAT

public static final String DEFAULT_CGR_FORMAT
See Also:
Constant Field Values

DEFAULT_CL_FORMAT

public static final String DEFAULT_CL_FORMAT
See Also:
Constant Field Values

DEFAULT_ST_FORMAT

public static final String DEFAULT_ST_FORMAT
See Also:
Constant Field Values
Constructor Detail

VerboseSink

public VerboseSink()
Create a new verbose sink using System.out.


VerboseSink

public VerboseSink(PrintStream out)
Create a new verbose sink.

Parameters:
out - stream used to output message
Method Detail

setAutoFlush

public void setAutoFlush(boolean on)
Enable or disable autoflush.

Parameters:
on - true to enable autoflush

setEventFormat

public void setEventFormat(VerboseSink.EventType type,
                           String format)
Redefines message format of an event.

Parameters:
type - type of the event
format - new format of the message attached with the event

setEventEnabled

public void setEventEnabled(VerboseSink.EventType type,
                            boolean on)
Enable or disable an event.

Parameters:
type - type of the event
on - true to enable message for this event

setElementEventEnabled

public void setElementEventEnabled(boolean on)
Enable or disable all messages associated with attribute events.

Parameters:
on - true to enable events

setAttributeEventEnabled

public void setAttributeEventEnabled(boolean on)
Enable or disable all messages associated with element events.

Parameters:
on - true to enable events

setPrefix

public void setPrefix(String prefix)
Set prefix used in messages.

Parameters:
prefix - new prefix

setSuffix

public void setSuffix(String suffix)
Set suffix used in messages.

Parameters:
suffix - new suffix

edgeAttributeAdded

public void edgeAttributeAdded(String sourceId,
                               long timeId,
                               String edgeId,
                               String attribute,
                               Object value)
Description copied from interface: AttributeSink
A edge attribute was added.

Specified by:
edgeAttributeAdded in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the change occurred.
edgeId - Identifier of the edge whose attribute changed.
attribute - The attribute name.
value - The attribute new value.

edgeAttributeChanged

public void edgeAttributeChanged(String sourceId,
                                 long timeId,
                                 String edgeId,
                                 String attribute,
                                 Object oldValue,
                                 Object newValue)
Description copied from interface: AttributeSink
A edge attribute was changed.

Specified by:
edgeAttributeChanged in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the change occurred.
edgeId - Identifier of the edge whose attribute changed.
attribute - The attribute name.
oldValue - The attribute old value.
newValue - The attribute new value.

edgeAttributeRemoved

public void edgeAttributeRemoved(String sourceId,
                                 long timeId,
                                 String edgeId,
                                 String attribute)
Description copied from interface: AttributeSink
A edge attribute was removed.

Specified by:
edgeAttributeRemoved in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the attribute was removed.
edgeId - Identifier of the edge whose attribute was removed.
attribute - The removed attribute name.

graphAttributeAdded

public void graphAttributeAdded(String sourceId,
                                long timeId,
                                String attribute,
                                Object value)
Description copied from interface: AttributeSink
A graph attribute was added.

Specified by:
graphAttributeAdded in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the attribute changed.
attribute - The attribute name.
value - The attribute new value.

graphAttributeChanged

public void graphAttributeChanged(String sourceId,
                                  long timeId,
                                  String attribute,
                                  Object oldValue,
                                  Object newValue)
Description copied from interface: AttributeSink
A graph attribute was changed.

Specified by:
graphAttributeChanged in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the attribute changed.
attribute - The attribute name.
oldValue - The attribute old value.
newValue - The attribute new value.

graphAttributeRemoved

public void graphAttributeRemoved(String sourceId,
                                  long timeId,
                                  String attribute)
Description copied from interface: AttributeSink
A graph attribute was removed.

Specified by:
graphAttributeRemoved in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the attribute was removed.
attribute - The removed attribute name.

nodeAttributeAdded

public void nodeAttributeAdded(String sourceId,
                               long timeId,
                               String nodeId,
                               String attribute,
                               Object value)
Description copied from interface: AttributeSink
A node attribute was added.

Specified by:
nodeAttributeAdded in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the change occurred.
nodeId - Identifier of the node whose attribute changed.
attribute - The attribute name.
value - The attribute new value.

nodeAttributeChanged

public void nodeAttributeChanged(String sourceId,
                                 long timeId,
                                 String nodeId,
                                 String attribute,
                                 Object oldValue,
                                 Object newValue)
Description copied from interface: AttributeSink
A node attribute was changed.

Specified by:
nodeAttributeChanged in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the change occurred.
nodeId - Identifier of the node whose attribute changed.
attribute - The attribute name.
oldValue - The attribute old value.
newValue - The attribute new value.

nodeAttributeRemoved

public void nodeAttributeRemoved(String sourceId,
                                 long timeId,
                                 String nodeId,
                                 String attribute)
Description copied from interface: AttributeSink
A node attribute was removed.

Specified by:
nodeAttributeRemoved in interface AttributeSink
Parameters:
sourceId - Identifier of the graph where the attribute was removed.
nodeId - Identifier of the node whose attribute was removed.
attribute - The removed attribute name.

edgeAdded

public void edgeAdded(String sourceId,
                      long timeId,
                      String edgeId,
                      String fromNodeId,
                      String toNodeId,
                      boolean directed)
Description copied from interface: ElementSink
An edge was inserted in graph.

Specified by:
edgeAdded in interface ElementSink
Parameters:
sourceId - Identifier of the graph where the edge was added.
edgeId - Identifier of the added edge.
fromNodeId - Identifier of the first node of the edge.
toNodeId - Identifier of the second node of the edge.
directed - If true, the edge is directed.

edgeRemoved

public void edgeRemoved(String sourceId,
                        long timeId,
                        String edgeId)
Description copied from interface: ElementSink
An edge of graph was removed.The nodes the edge connects may already have been removed from the graph.

Specified by:
edgeRemoved in interface ElementSink
Parameters:
sourceId - The graph where the edge will be removed.
edgeId - The edge that will be removed.

graphCleared

public void graphCleared(String sourceId,
                         long timeId)
Description copied from interface: ElementSink
The whole graph was cleared. All the nodes, edges and attributes of the graph are removed.

Specified by:
graphCleared in interface ElementSink
Parameters:
sourceId - The graph cleared.

nodeAdded

public void nodeAdded(String sourceId,
                      long timeId,
                      String nodeId)
Description copied from interface: ElementSink
A node was inserted in the given graph.

Specified by:
nodeAdded in interface ElementSink
Parameters:
sourceId - Identifier of the graph where the node was added.
nodeId - Identifier of the added node.

nodeRemoved

public void nodeRemoved(String sourceId,
                        long timeId,
                        String nodeId)
Description copied from interface: ElementSink
A node was removed from the graph.

Specified by:
nodeRemoved in interface ElementSink
Parameters:
sourceId - Identifier of the graph where the node will be removed.
nodeId - Identifier of the removed node.

stepBegins

public void stepBegins(String sourceId,
                       long timeId,
                       double step)
Description copied from interface: ElementSink

Since dynamic graphs are based on discrete event modifications, the notion of step is defined to simulate elapsed time between events. So a step is a event that occurs in the graph, it does not modify it but it gives a kind of timestamp that allow the tracking of the progress of the graph over the time.

This kind of event is useful for dynamic algorithms that listen to the dynamic graph and need to measure the time in the graph's evolution.

Specified by:
stepBegins in interface ElementSink
Parameters:
sourceId - Identifier of the graph where the step starts.
timeId - A numerical value that may give a timestamp to track the evolution of the graph over the time.


Copyright © 2013. All Rights Reserved.