package jetbrains.mps.ide.platform.refactoring; /*Generated by MPS */ import jetbrains.mps.extapi.model.SNodeBatchChangeListener; import jetbrains.mps.smodel.event.RepositoryChangeTracker; import org.jetbrains.mps.openapi.module.SRepository; import jetbrains.mps.smodel.RepoListenerRegistrar; import org.jetbrains.annotations.NotNull; import java.util.Collection; import org.jetbrains.mps.openapi.event.AbstractModelChangeEvent; public class UsagesModelTracker implements SNodeBatchChangeListener { private final RepositoryChangeTracker myChangeTracker = new RepositoryChangeTracker(); private boolean changed = false; private SRepository myRepository; public UsagesModelTracker(SRepository repository) { myRepository = repository; myChangeTracker.addListener(this); new RepoListenerRegistrar(repository, myChangeTracker).attach(); } public void dispose() { myChangeTracker.removeListener(this); new RepoListenerRegistrar(myRepository, myChangeTracker).detach(); } public void processEvents(@NotNull Collection<AbstractModelChangeEvent> events) { changed = true; } public boolean reset() { return changed = false; } public boolean isChanged() { return changed; } }