]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/FileSystemModuleSourceRepository.java
0e26c1d273acc71cbe385f7a90dea810cf4ddbde
[simantics/platform.git] / bundles / org.simantics.scl.osgi / src / org / simantics / scl / osgi / internal / FileSystemModuleSourceRepository.java
1 package org.simantics.scl.osgi.internal;
2
3 import java.io.File;
4
5 import org.osgi.service.component.annotations.Component;
6 import org.simantics.scl.compiler.module.repository.UpdateListener;
7 import org.simantics.scl.compiler.source.FileModuleSource;
8 import org.simantics.scl.compiler.source.ModuleSource;
9 import org.simantics.scl.compiler.source.TextualModuleSource;
10 import org.simantics.scl.compiler.source.repository.ModuleSourceRepository;
11
12 import gnu.trove.procedure.TObjectProcedure;
13
14 @Component
15 public class FileSystemModuleSourceRepository implements ModuleSourceRepository {
16     @Override
17     synchronized public ModuleSource getModuleSource(String moduleName,
18             UpdateListener listener) {
19         if(!moduleName.startsWith("file:"))
20             return null;
21         return new FileModuleSource(moduleName, getClass().getClassLoader(), 
22                 new File(moduleName.substring(5)), TextualModuleSource.DEFAULT_IMPORTS);
23     }
24
25     @Override
26     synchronized public void forAllModules(TObjectProcedure<String> procedure) {
27     }
28     
29     @Override
30     public String getDocumentation(String documentationName) {
31         return null;
32     }
33     
34     @Override
35     public void forAllDocumentations(TObjectProcedure<String> procedure) {
36     }
37
38     @Override
39     public void checkUpdates() {
40     }
41
42     @Override
43     public void clear() {
44     }
45 }