public class ConcreteModule implements Module {
String moduleName;
+ String defaultLocalName;
THashMap<String, TypeDescriptor> typeDescriptors = new THashMap<String, TypeDescriptor>();
THashMap<String, EffectConstructor> effectConstructors = new THashMap<String, EffectConstructor>();
THashMap<String, TypeClass> typeClasses = new THashMap<String, TypeClass>();
CompilationError[] warnings = CompilationError.EMPTY_ARRAY;
Map<String, byte[]> classes = Collections.emptyMap();
+ ClassLoader parentClassLoader;
ModuleInitializer moduleInitializer;
protected Documentation documentation;
this.moduleName = moduleName;
}
+ @Override
+ public String getDefaultLocalName() {
+ return defaultLocalName;
+ }
+
+ public void setDefaultLocalName(String defaultLocalName) {
+ this.defaultLocalName = defaultLocalName;
+ }
+
public boolean addTypeDescriptor(String name, TypeDescriptor typeConstructor) {
return typeDescriptors.put(name, typeConstructor) != null;
}
public CompilationError[] getWarnings() {
return warnings;
}
+
+ @Override
+ public ClassLoader getParentClassLoader() {
+ return parentClassLoader;
+ }
+
+ public void setParentClassLoader(ClassLoader parentClassLoader) {
+ if(parentClassLoader == null)
+ throw new NullPointerException();
+ this.parentClassLoader = parentClassLoader;
+ }
}