Package jetbrains.mps.smodel.event
Class NodeChangeCollector
- java.lang.Object
 - 
- jetbrains.mps.smodel.event.NodeChangeCollector
 
 
- 
- All Implemented Interfaces:
 SNodeChangeListener
public class NodeChangeCollector extends Object implements SNodeChangeListener
Implementation of model changelistenerthat collects events as commanded. Multiple start/stop sequences are possible. Nested start/stop are not supported. Initial state is stopped. Not thread-safe, it's caller's responsibility to ensure single-thread use or to synchronize access. 
- 
- 
Constructor Summary
Constructors Constructor Description NodeChangeCollector() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidnodeAdded(SNodeAddEvent event)voidnodeRemoved(SNodeRemoveEvent event)voidpropertyChanged(SPropertyChangeEvent event)List<AbstractModelChangeEvent>purge()Gives access to events collected so far and clears all collected events.voidreferenceChanged(SReferenceChangeEvent event)voidstart()Unconditionally enable event collectionvoidstop()Unconditionally disable event collection. 
 - 
 
- 
- 
Method Detail
- 
start
public void start()
Unconditionally enable event collection 
- 
stop
public void stop()
Unconditionally disable event collection. Events collected so far are kept. 
- 
purge
@NotNull public List<AbstractModelChangeEvent> purge()
Gives access to events collected so far and clears all collected events. Doesn't change start/stop state.- Returns:
 - ordered collection of model change events, or empty list if none had happened.
 
 
- 
propertyChanged
public void propertyChanged(@NotNull SPropertyChangeEvent event)
- Specified by:
 propertyChangedin interfaceSNodeChangeListener
 
- 
referenceChanged
public void referenceChanged(@NotNull SReferenceChangeEvent event)
- Specified by:
 referenceChangedin interfaceSNodeChangeListener
 
- 
nodeAdded
public void nodeAdded(@NotNull SNodeAddEvent event)
- Specified by:
 nodeAddedin interfaceSNodeChangeListener
 
- 
nodeRemoved
public void nodeRemoved(@NotNull SNodeRemoveEvent event)
- Specified by:
 nodeRemovedin interfaceSNodeChangeListener
 
 - 
 
 -