mxGraph 2.5.0.1


com.mxgraph.sharing
Class mxSharedState

java.lang.Object
  extended by com.mxgraph.util.mxEventSource
      extended by com.mxgraph.sharing.mxSharedState
Direct Known Subclasses:
mxSharedGraphModel

public class mxSharedState
extends mxEventSource

Implements a diagram that may be shared among multiple sessions. This implementation is based only on string, it does not have a model instance. The diagram is represented by its initial state and the sequence of edits as applied to the diagram.


Nested Class Summary
static interface mxSharedState.mxDiagramChangeListener
          Defines the requirements for an object that listens to changes on the shared diagram.
 
Nested classes/interfaces inherited from class com.mxgraph.util.mxEventSource
mxEventSource.mxIEventListener
 
Field Summary
protected  StringBuffer delta
          Holds the history of all changes of initial state.
protected  List<mxSharedState.mxDiagramChangeListener> diagramChangeListeners
          Holds a list of diagram change listeners.
protected  String state
          Holds the initial state of the diagram.
 
Fields inherited from class com.mxgraph.util.mxEventSource
eventListeners, eventsEnabled, eventSource
 
Constructor Summary
mxSharedState(String state)
          Constructs a new diagram with the given state.
 
Method Summary
 void addDelta(String xml)
           
 void addDiagramChangeListener(mxSharedState.mxDiagramChangeListener listener)
          Adds the given listener to the list of diagram change listeners.
 String getDelta()
          Returns the history of all changes as a string.
 String getState()
          Returns the initial state of the diagram.
 void processDelta(Object sender, Node delta)
          Appends the given string to the history and dispatches the change to all sessions that are listening to this shared diagram.
protected  String processEdit(Node node)
           
 void removeDiagramChangeListener(mxSharedState.mxDiagramChangeListener listener)
          Removes the given listener from the list of diagram change listeners.
 void resetDelta()
          Clears the history of all changes.
 
Methods inherited from class com.mxgraph.util.mxEventSource
addListener, fireEvent, fireEvent, getEventSource, isEventsEnabled, removeListener, removeListener, setEventsEnabled, setEventSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

diagramChangeListeners

protected List<mxSharedState.mxDiagramChangeListener> diagramChangeListeners
Holds a list of diagram change listeners.


state

protected String state
Holds the initial state of the diagram.


delta

protected StringBuffer delta
Holds the history of all changes of initial state.

Constructor Detail

mxSharedState

public mxSharedState(String state)
Constructs a new diagram with the given state.

Parameters:
state - Initial state of the diagram.
Method Detail

getState

public String getState()
Returns the initial state of the diagram.


getDelta

public String getDelta()
Returns the history of all changes as a string.


processDelta

public void processDelta(Object sender,
                         Node delta)
Appends the given string to the history and dispatches the change to all sessions that are listening to this shared diagram.

Parameters:
sender - Session where the change originated from.
delta - XML that represents the change.

processEdit

protected String processEdit(Node node)

addDelta

public void addDelta(String xml)

resetDelta

public void resetDelta()
Clears the history of all changes.


addDiagramChangeListener

public void addDiagramChangeListener(mxSharedState.mxDiagramChangeListener listener)
Adds the given listener to the list of diagram change listeners.

Parameters:
listener - Diagram change listener to be added.

removeDiagramChangeListener

public void removeDiagramChangeListener(mxSharedState.mxDiagramChangeListener listener)
Removes the given listener from the list of diagram change listeners.

Parameters:
listener - Diagram change listener to be removed.

mxGraph 2.5.0.1


Copyright (c) 2010 Gaudenz Alder, David Benson. All rights reserved.