Class StructureAspectChangeTracker

  • All Implemented Interfaces:
    SModelListener, SNodeChangeListener, SRepositoryAttachListener, SRepositoryListener

    public final class StructureAspectChangeTracker
    extends SRepositoryListenerBase
    implements SRepositoryAttachListener, SNodeChangeListener, SModelListener
    Tracks changes to language concepts throughout whole repository.
       SModel modelWithInstancesOfSomeConcepts;
       StructureAspectChangeTracker t = new StructureAspectChangeTracker(null, new ModuleListener() {
         void structureAspectChanged(...) {
           revalidateCaches();
         }
       });
       t.attachTo(model.getRepository());
       ...
       // code that relies on meta-model, and needs to update once meta-model changes (e.g. caches by concept FQN)
       SNode n;
       myCacheMap.put(n.getConcept().getQualifiedName(), ...);
       ...
       // much later
       t.detachFrom(model.getRepository());