< prev index next >
src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java
Print this page
@@ -23,10 +23,11 @@
* questions.
*/
package jdk.internal.module;
+import java.lang.module.Configuration;
import java.lang.module.ModuleFinder;
import java.util.Objects;
import jdk.internal.misc.VM;
/**
@@ -34,48 +35,62 @@
*/
final class ArchivedModuleGraph {
private static String archivedMainModule;
private static SystemModules archivedSystemModules;
private static ModuleFinder archivedModuleFinder;
+ private static Configuration archivedConfiguration;
private final SystemModules systemModules;
private final ModuleFinder finder;
+ private final Configuration configuration;
- private ArchivedModuleGraph(SystemModules modules, ModuleFinder finder) {
+ private ArchivedModuleGraph(SystemModules modules,
+ ModuleFinder finder,
+ Configuration configuration) {
this.systemModules = modules;
this.finder = finder;
+ this.configuration = configuration;
}
SystemModules systemModules() {
return systemModules;
}
ModuleFinder finder() {
return finder;
}
+ Configuration configuration() {
+ return configuration;
+ }
+
// A factory method that ModuleBootstrap can use to obtain the
// ArchivedModuleGraph.
static ArchivedModuleGraph get(String mainModule) {
if (Objects.equals(mainModule, archivedMainModule)
&& archivedSystemModules != null
- && archivedModuleFinder != null) {
+ && archivedModuleFinder != null
+ && archivedConfiguration != null) {
return new ArchivedModuleGraph(archivedSystemModules,
- archivedModuleFinder);
+ archivedModuleFinder,
+ archivedConfiguration);
} else {
return null;
}
}
// Used at CDS dump time
- static void archive(String mainModule, SystemModules systemModules,
- ModuleFinder finder) {
+ static void archive(String mainModule,
+ SystemModules systemModules,
+ ModuleFinder finder,
+ Configuration configuration) {
if (archivedMainModule != null)
throw new UnsupportedOperationException();
archivedMainModule = mainModule;
archivedSystemModules = systemModules;
archivedModuleFinder = finder;
+ archivedConfiguration = configuration;
}
static {
VM.initializeFromArchive(ArchivedModuleGraph.class);
}
< prev index next >