public class ViewerPipe extends SourceBase implements ProxyPipe
This pipe is a probe that you can place in the event loop between the viewer and the graph. It will transmit all events coming from the viewer to the graph (or any sink you connect to it). But in addition it will monitor standard attribute changes to redistribute them to specify "viewer listeners".
As any proxy pipe, a viewer pipe must be "pumped" to receive events coming from other threads.
SourceBase.ElementType| Modifier and Type | Method and Description |
|---|---|
void |
addViewerListener(ViewerListener listener) |
void |
blockingPump()
Same as
ProxyPipe.pump() but try to block until new events were available. |
void |
blockingPump(long timeout)
Same as
ProxyPipe.blockingPump() but including a timeout delay. |
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.
|
String |
getId() |
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 |
pump()
Check if some events are pending and dispatch them to the registered
outputs.
|
void |
removeViewerListener(ViewerListener listener) |
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.
|
addAttributeSink, addElementSink, addSink, attributeSinks, clearAttributeSinks, clearElementSinks, clearSinks, elementSinks, removeAttributeSink, removeElementSink, removeSink, sendAttributeChangedEvent, sendAttributeChangedEvent, sendEdgeAdded, sendEdgeAdded, sendEdgeAttributeAdded, sendEdgeAttributeAdded, sendEdgeAttributeChanged, sendEdgeAttributeChanged, sendEdgeAttributeRemoved, sendEdgeAttributeRemoved, sendEdgeRemoved, sendEdgeRemoved, sendGraphAttributeAdded, sendGraphAttributeAdded, sendGraphAttributeChanged, sendGraphAttributeChanged, sendGraphAttributeRemoved, sendGraphAttributeRemoved, sendGraphCleared, sendGraphCleared, sendNodeAdded, sendNodeAdded, sendNodeAttributeAdded, sendNodeAttributeAdded, sendNodeAttributeChanged, sendNodeAttributeChanged, sendNodeAttributeRemoved, sendNodeAttributeRemoved, sendNodeRemoved, sendNodeRemoved, sendStepBegins, sendStepBeginsequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddAttributeSink, addElementSink, addSink, clearAttributeSinks, clearElementSinks, clearSinks, removeAttributeSink, removeElementSink, removeSinkpublic String getId()
public void pump()
ProxyPipepublic void blockingPump()
throws InterruptedException
ProxyPipeProxyPipe.pump() but try to block until new events were available.
Note that this feature will not be available on all proxy pipe
implementation and may throws an
UnsupportedOperationException. It can throw an
InterruptedException if the current thread is
interrupted while proxy is waiting for events.blockingPump in interface ProxyPipeInterruptedExceptionpublic void blockingPump(long timeout)
throws InterruptedException
ProxyPipeProxyPipe.blockingPump() but including a timeout delay.blockingPump in interface ProxyPipeInterruptedExceptionpublic void addViewerListener(ViewerListener listener)
public void removeViewerListener(ViewerListener listener)
public void edgeAttributeAdded(String sourceId, long timeId, String edgeId, String attribute, Object value)
AttributeSinkedgeAttributeAdded in interface AttributeSinksourceId - 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.public void edgeAttributeChanged(String sourceId, long timeId, String edgeId, String attribute, Object oldValue, Object newValue)
AttributeSinkedgeAttributeChanged in interface AttributeSinksourceId - 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.public void edgeAttributeRemoved(String sourceId, long timeId, String edgeId, String attribute)
AttributeSinkedgeAttributeRemoved in interface AttributeSinksourceId - Identifier of the graph where the attribute was removed.edgeId - Identifier of the edge whose attribute was removed.attribute - The removed attribute name.public void graphAttributeAdded(String sourceId, long timeId, String attribute, Object value)
AttributeSinkgraphAttributeAdded in interface AttributeSinksourceId - Identifier of the graph where the attribute changed.attribute - The attribute name.value - The attribute new value.public void graphAttributeChanged(String sourceId, long timeId, String attribute, Object oldValue, Object newValue)
AttributeSinkgraphAttributeChanged in interface AttributeSinksourceId - Identifier of the graph where the attribute changed.attribute - The attribute name.oldValue - The attribute old value.newValue - The attribute new value.public void graphAttributeRemoved(String sourceId, long timeId, String attribute)
AttributeSinkgraphAttributeRemoved in interface AttributeSinksourceId - Identifier of the graph where the attribute was removed.attribute - The removed attribute name.public void nodeAttributeAdded(String sourceId, long timeId, String nodeId, String attribute, Object value)
AttributeSinknodeAttributeAdded in interface AttributeSinksourceId - 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.public void nodeAttributeChanged(String sourceId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue)
AttributeSinknodeAttributeChanged in interface AttributeSinksourceId - 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.public void nodeAttributeRemoved(String sourceId, long timeId, String nodeId, String attribute)
AttributeSinknodeAttributeRemoved in interface AttributeSinksourceId - Identifier of the graph where the attribute was removed.nodeId - Identifier of the node whose attribute was removed.attribute - The removed attribute name.public void edgeAdded(String sourceId, long timeId, String edgeId, String fromNodeId, String toNodeId, boolean directed)
ElementSinkedgeAdded in interface ElementSinksourceId - 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.public void edgeRemoved(String sourceId, long timeId, String edgeId)
ElementSinkedgeRemoved in interface ElementSinksourceId - The graph where the edge will be removed.edgeId - The edge that will be removed.public void graphCleared(String sourceId, long timeId)
ElementSinkgraphCleared in interface ElementSinksourceId - The graph cleared.public void nodeAdded(String sourceId, long timeId, String nodeId)
ElementSinknodeAdded in interface ElementSinksourceId - Identifier of the graph where the node was added.nodeId - Identifier of the added node.public void nodeRemoved(String sourceId, long timeId, String nodeId)
ElementSinknodeRemoved in interface ElementSinksourceId - Identifier of the graph where the node will be removed.nodeId - Identifier of the removed node.public void stepBegins(String sourceId, long timeId, double step)
ElementSinkSince 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.
stepBegins in interface ElementSinksourceId - 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 © 2015. All rights reserved.