< prev index next >
src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java
Print this page
@@ -20,36 +20,35 @@
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
package jdk.internal.module;
-import java.lang.module.Configuration;
-import java.lang.module.ModuleFinder;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
-
+import java.lang.module.Configuration;
+import java.lang.module.ModuleFinder;
import jdk.internal.misc.VM;
/**
- * Used by ModuleBootstrap to obtain the archived system modules and finder.
+ * Used by ModuleBootstrap for archiving the configuration for the boot layer,
+ * the system module finder, and the maps used to create the IllegalAccessLogger.
*/
-final class ArchivedModuleGraph {
+class ArchivedModuleGraph {
private static ArchivedModuleGraph archivedModuleGraph;
private final boolean hasSplitPackages;
private final boolean hasIncubatorModules;
private final ModuleFinder finder;
private final Configuration configuration;
private final Function<String, ClassLoader> classLoaderFunction;
private final Map<String, Set<String>> concealedPackagesToOpen;
private final Map<String, Set<String>> exportedPackagesToOpen;
- public ArchivedModuleGraph(boolean hasSplitPackages,
+ private ArchivedModuleGraph(boolean hasSplitPackages,
boolean hasIncubatorModules,
ModuleFinder finder,
Configuration configuration,
Function<String, ClassLoader> classLoaderFunction,
Map<String, Set<String>> concealedPackagesToOpen,
@@ -105,12 +104,24 @@
}
/**
* Archive the module graph for the given initial module.
*/
- static void archive(ArchivedModuleGraph graph) {
- archivedModuleGraph = graph;
+ static void archive(boolean hasSplitPackages,
+ boolean hasIncubatorModules,
+ ModuleFinder finder,
+ Configuration configuration,
+ Function<String, ClassLoader> classLoaderFunction,
+ Map<String, Set<String>> concealedPackagesToOpen,
+ Map<String, Set<String>> exportedPackagesToOpen) {
+ archivedModuleGraph = new ArchivedModuleGraph(hasSplitPackages,
+ hasIncubatorModules,
+ finder,
+ configuration,
+ classLoaderFunction,
+ concealedPackagesToOpen,
+ exportedPackagesToOpen);
}
static {
VM.initializeFromArchive(ArchivedModuleGraph.class);
}
< prev index next >