]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/EncodedTextualModuleSource.java
(refs #7250) Merging master, minor CHR bugfixes
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / source / EncodedTextualModuleSource.java
1 package org.simantics.scl.compiler.source;
2
3 import java.io.BufferedInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.Reader;
7
8 import org.simantics.scl.compiler.internal.parsing.utils.LaxUTF8Reader;
9 import org.simantics.scl.compiler.module.repository.UpdateListener;
10
11
12 public abstract class EncodedTextualModuleSource extends TextualModuleSource {
13
14     public EncodedTextualModuleSource(String moduleName) {
15         super(moduleName);
16     }
17     
18     public EncodedTextualModuleSource(String moduleName, double priority) {
19         super(moduleName, priority);
20     }
21     
22     protected abstract InputStream getSourceStream(UpdateListener listener) throws IOException;
23     
24     @Override
25     protected final Reader getSourceReader(UpdateListener listener)
26             throws IOException {
27         InputStream stream = getSourceStream(listener);
28         if(stream == null)
29             return null;
30         else
31             return new LaxUTF8Reader(new BufferedInputStream(stream));
32     }
33 }