public void unregisterModules(MPSModuleOwner owner, Condition<SModule> condition) { Collection<SModule> modulesToRemove = new ArrayList<SModule>(); for (SModule module : REPO.getModules(owner)) { if (condition.met(module)) { modulesToRemove.add(module); } } REPO.unregisterModules(modulesToRemove, owner); }
public <T extends SModule> Collection<T> getModules( MPSModuleOwner moduleOwner, @Nullable Class<T> cls) { Set<SModule> modules = REPO.getModules(moduleOwner); if (modules == null) return Collections.emptyList(); List<T> list = new LinkedList<T>(); for (SModule m : modules) { if (cls == null || cls.isInstance(m)) { list.add((T) m); } } return list; }
public void unregisterModules(MPSModuleOwner owner) { REPO.unregisterModules(new HashSet<SModule>(REPO.getModules(owner)), owner); }