< prev index next >
src/java.base/share/classes/jdk/internal/module/ModuleReferences.java
Print this page
@@ -21,17 +21,19 @@
* 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 java.lang.module;
+package jdk.internal.module;
import java.io.File;
import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import java.io.UncheckedIOException;
+import java.lang.module.ModuleReader;
+import java.lang.module.ModuleReference;
import java.net.URI;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -49,14 +51,11 @@
import java.util.zip.ZipFile;
import jdk.internal.jmod.JmodFile;
import jdk.internal.misc.JavaLangAccess;
import jdk.internal.misc.SharedSecrets;
-import jdk.internal.module.ModuleBootstrap;
-import jdk.internal.module.ModuleHashes;
import jdk.internal.module.ModuleHashes.HashSupplier;
-import jdk.internal.module.ModulePatcher;
import jdk.internal.util.jar.VersionedStream;
import sun.net.www.ParseUtil;
/**
@@ -73,48 +72,54 @@
/**
* Creates a ModuleReference to a module or to patched module when
* creating modules for the boot Layer and --patch-module is specified.
*/
- private static ModuleReference newModule(ModuleDescriptor md,
+ private static ModuleReference newModule(ModuleInfo.Attributes attrs,
URI uri,
Supplier<ModuleReader> supplier,
HashSupplier hasher) {
- ModuleReference mref = new ModuleReference(md, uri, supplier, hasher);
+ ModuleReference mref = new ModuleReferenceImpl(attrs.descriptor(),
+ uri,
+ supplier,
+ null,
+ attrs.recordedHashes(),
+ hasher,
+ attrs.moduleResolution());
if (JLA.getBootLayer() == null)
mref = ModuleBootstrap.patcher().patchIfNeeded(mref);
return mref;
}
/**
* Creates a ModuleReference to a module packaged as a modular JAR.
*/
- static ModuleReference newJarModule(ModuleDescriptor md, Path file) {
+ static ModuleReference newJarModule(ModuleInfo.Attributes attrs, Path file) {
URI uri = file.toUri();
Supplier<ModuleReader> supplier = () -> new JarModuleReader(file, uri);
HashSupplier hasher = (a) -> ModuleHashes.computeHash(file, a);
- return newModule(md, uri, supplier, hasher);
+ return newModule(attrs, uri, supplier, hasher);
}
/**
* Creates a ModuleReference to a module packaged as a JMOD.
*/
- static ModuleReference newJModModule(ModuleDescriptor md, Path file) {
+ static ModuleReference newJModModule(ModuleInfo.Attributes attrs, Path file) {
URI uri = file.toUri();
Supplier<ModuleReader> supplier = () -> new JModModuleReader(file, uri);
HashSupplier hasher = (a) -> ModuleHashes.computeHash(file, a);
- return newModule(md, file.toUri(), supplier, hasher);
+ return newModule(attrs, uri, supplier, hasher);
}
/**
* Creates a ModuleReference to an exploded module.
*/
- static ModuleReference newExplodedModule(ModuleDescriptor md, Path dir) {
+ static ModuleReference newExplodedModule(ModuleInfo.Attributes attrs, Path dir) {
Supplier<ModuleReader> supplier = () -> new ExplodedModuleReader(dir);
- return newModule(md, dir.toUri(), supplier, null);
+ return newModule(attrs, dir.toUri(), supplier, null);
}
/**
* A base module reader that encapsulates machinery required to close the
< prev index next >