package org.simantics.scl.compiler.source.repository; import gnu.trove.procedure.TObjectProcedure; import org.simantics.scl.compiler.module.repository.ModuleRepository; import org.simantics.scl.compiler.module.repository.UpdateListener; import org.simantics.scl.compiler.source.ModuleSource; /** * An interface for locating modules descriptors and listening if they change. * An instance of this interface is used to create a {@link ModuleRepository}. * * @author Hannu Niemistö */ public interface ModuleSourceRepository { ModuleSource getModuleSource(String moduleName, UpdateListener listener); void forAllModules(TObjectProcedure procedure); String getDocumentation(String documentationName); void forAllDocumentations(TObjectProcedure procedure); void checkUpdates(); void clear(); }