Interface SNodeAccessListener

  • All Known Implementing Classes:
    SRepositoryContentAdapter

    public interface SNodeAccessListener
    PROVISIONAL API. WORK IN PROGRESS. This interface can be implemented to track read access to individual nodes in a model, their properties and references. It's deemed to be implemented by OpenAPI clients.

    All notifications are delivered inside a read lock on the model's repository.

    Note: in MPS, read actions can occur in multiple parallel threads. It's implementer's responsibility to ensure access to sensitive data from withing notify methods is locked appropriately. Unless notifications You may want to use thread-local storage, primitives from java.util.concurrent or accept notifications from single thread only. Explicit synchronization may be harmful to the performance of the whole application. FIXME need better wording to stress events may come from multiple threads, perhaps some sync examples or single-thread listener classes to re-use?

    Since:
    3.3
    See Also:
    SModel.addAccessListener(SNodeAccessListener)