jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java
changeset 36511 9d0388c6b336
parent 35707 66cdb7e01a3e
child 36972 27147cde3256
--- a/jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java	Tue Mar 15 13:48:26 2016 -0700
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java	Thu Mar 17 19:04:16 2016 +0000
@@ -25,11 +25,17 @@
 
 package jdk.internal.misc;
 
+import java.io.IOException;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Executable;
+import java.lang.reflect.Layer;
+import java.lang.reflect.Module;
+import java.net.URL;
 import java.security.AccessControlContext;
 import java.util.Map;
+import java.util.stream.Stream;
 
+import jdk.internal.module.ServicesCatalog;
 import sun.reflect.ConstantPool;
 import sun.reflect.annotation.AnnotationType;
 import sun.nio.ch.Interruptible;
@@ -124,6 +130,43 @@
     void invokeFinalize(Object o) throws Throwable;
 
     /**
+     * Returns the boot Layer
+     */
+    Layer getBootLayer();
+
+    /**
+     * Returns the ServicesCatalog for the given class loader.
+     */
+    ServicesCatalog getServicesCatalog(ClassLoader cl);
+
+    /**
+     * Returns the ServicesCatalog for the given class loader, creating it
+     * if doesn't already exist.
+     */
+    ServicesCatalog createOrGetServicesCatalog(ClassLoader cl);
+
+    /**
+     * Returns a class loaded by the bootstrap class loader.
+     */
+    Class<?> findBootstrapClassOrNull(ClassLoader cl, String name);
+
+    /**
+     * Returns a URL to a resource with the given name in a module that is
+     * defined to the given class loader.
+     */
+    URL findResource(ClassLoader cl, String moduleName, String name) throws IOException;
+
+    /**
+     * Returns the Packages for the given class loader.
+     */
+    Stream<Package> packages(ClassLoader cl);
+
+    /**
+     * Define a Package of the given name and module by the given class loader.
+     */
+    Package definePackage(ClassLoader cl, String name, Module module);
+
+    /**
      * Invokes Long.fastUUID
      */
     String fastUUID(long lsb, long msb);