Class mxSharedState

java.lang.Object
com.mxgraph.util.mxEventSource
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.
  • Field Details

    • 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 Details

    • mxSharedState

      public mxSharedState(String state)
      Constructs a new diagram with the given state.
      Parameters:
      state - Initial state of the diagram.
  • Method Details

    • 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.