1 /*
   2  * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 /**
  27  * java.base defines and exports the core APIs of the Java SE platform.
  28  */
  29 
  30 module java.base {
  31 
  32     exports java.io;
  33     exports java.lang;
  34     exports java.lang.annotation;
  35     exports java.lang.invoke;
  36     exports java.lang.module;
  37     exports java.lang.ref;
  38     exports java.lang.reflect;
  39     exports java.math;
  40     exports java.net;
  41     exports java.net.spi;
  42     exports java.nio;
  43     exports java.nio.channels;
  44     exports java.nio.channels.spi;
  45     exports java.nio.charset;
  46     exports java.nio.charset.spi;
  47     exports java.nio.file;
  48     exports java.nio.file.attribute;
  49     exports java.nio.file.spi;
  50     exports java.security;
  51     exports java.security.acl;
  52     exports java.security.cert;
  53     exports java.security.interfaces;
  54     exports java.security.spec;
  55     exports java.text;
  56     exports java.text.spi;
  57     exports java.time;
  58     exports java.time.chrono;
  59     exports java.time.format;
  60     exports java.time.temporal;
  61     exports java.time.zone;
  62     exports java.util;
  63     exports java.util.concurrent;
  64     exports java.util.concurrent.atomic;
  65     exports java.util.concurrent.locks;
  66     exports java.util.function;
  67     exports java.util.jar;
  68     exports java.util.regex;
  69     exports java.util.spi;
  70     exports java.util.stream;
  71     exports java.util.zip;
  72     exports javax.crypto;
  73     exports javax.crypto.interfaces;
  74     exports javax.crypto.spec;
  75     exports javax.net;
  76     exports javax.net.ssl;
  77     exports javax.security.auth;
  78     exports javax.security.auth.callback;
  79     exports javax.security.auth.login;
  80     exports javax.security.auth.spi;
  81     exports javax.security.auth.x500;
  82     exports javax.security.cert;
  83 
  84     // see JDK-8144062
  85     exports jdk;
  86 
  87 
  88     // the service types defined by the APIs in this module
  89 
  90     uses java.lang.System.LoggerFinder;
  91     uses java.net.ContentHandlerFactory;
  92     uses java.net.spi.URLStreamHandlerProvider;
  93     uses java.nio.channels.spi.AsynchronousChannelProvider;
  94     uses java.nio.channels.spi.SelectorProvider;
  95     uses java.nio.charset.spi.CharsetProvider;
  96     uses java.nio.file.spi.FileSystemProvider;
  97     uses java.nio.file.spi.FileTypeDetector;
  98     uses java.security.Provider;
  99     uses java.text.spi.BreakIteratorProvider;
 100     uses java.text.spi.CollatorProvider;
 101     uses java.text.spi.DateFormatProvider;
 102     uses java.text.spi.DateFormatSymbolsProvider;
 103     uses java.text.spi.DecimalFormatSymbolsProvider;
 104     uses java.text.spi.NumberFormatProvider;
 105     uses java.time.chrono.AbstractChronology;
 106     uses java.time.chrono.Chronology;
 107     uses java.time.zone.ZoneRulesProvider;
 108     uses java.util.spi.CalendarDataProvider;
 109     uses java.util.spi.CalendarNameProvider;
 110     uses java.util.spi.CurrencyNameProvider;
 111     uses java.util.spi.LocaleNameProvider;
 112     uses java.util.spi.ResourceBundleControlProvider;
 113     uses java.util.spi.ResourceBundleProvider;
 114     uses java.util.spi.TimeZoneNameProvider;
 115     uses javax.security.auth.spi.LoginModule;
 116 
 117 
 118     // additional qualified exports may be inserted at build time
 119     // see make/gensrc/GenModuleInfo.gmk
 120 
 121     // CORBA serialization needs reflective access
 122     exports sun.util.calendar to
 123         java.corba;
 124 
 125     exports com.sun.security.ntlm to
 126         java.security.sasl;
 127     exports jdk.internal.jimage to
 128         jdk.jlink;
 129     exports jdk.internal.jimage.decompressor to
 130         jdk.jlink;
 131     exports jdk.internal.logger to
 132         java.logging;
 133     exports jdk.internal.org.objectweb.asm to
 134         jdk.jlink,
 135         jdk.scripting.nashorn,
 136         jdk.vm.ci;
 137     exports jdk.internal.org.objectweb.asm.tree to
 138         jdk.jlink;
 139     exports jdk.internal.org.objectweb.asm.util to
 140         jdk.jlink,
 141         jdk.scripting.nashorn;
 142     exports jdk.internal.org.objectweb.asm.tree.analysis to
 143         jdk.jlink;
 144     exports jdk.internal.org.objectweb.asm.commons to
 145         jdk.scripting.nashorn;
 146     exports jdk.internal.org.objectweb.asm.signature to
 147         jdk.scripting.nashorn;
 148     exports jdk.internal.loader to
 149         java.instrument;
 150     exports jdk.internal.math to
 151         java.desktop;
 152     exports jdk.internal.module to
 153         java.instrument,
 154         java.management,
 155         java.xml,
 156         jdk.dynalink,
 157         jdk.jartool,
 158         jdk.jlink,
 159         jdk.scripting.nashorn;
 160     exports jdk.internal.misc to
 161         java.corba,
 162         java.desktop,
 163         java.logging,
 164         java.management,
 165         java.naming,
 166         java.rmi,
 167         java.security.jgss,
 168         java.sql,
 169         java.xml,
 170         jdk.charsets,
 171         jdk.jartool,
 172         jdk.jlink,
 173         jdk.net,
 174         jdk.scripting.nashorn,
 175         jdk.unsupported,
 176         jdk.vm.ci;
 177     exports jdk.internal.perf to
 178         java.desktop,
 179         java.management,
 180         jdk.jvmstat;
 181     exports jdk.internal.ref to
 182         java.desktop;
 183     exports jdk.internal.reflect to
 184         java.corba,
 185         java.logging,
 186         java.sql,
 187         java.sql.rowset,
 188         jdk.dynalink,
 189         jdk.scripting.nashorn,
 190         jdk.unsupported;
 191     exports jdk.internal.vm.annotation to
 192         jdk.unsupported;
 193     exports jdk.internal.util.jar to
 194         jdk.jartool;
 195     exports jdk.internal.vm to
 196         java.management,
 197         jdk.jvmstat;
 198     exports sun.net to
 199         java.httpclient;
 200     exports sun.net.ext to
 201         jdk.net;
 202     exports sun.net.dns to
 203         java.security.jgss,
 204         jdk.naming.dns;
 205     exports sun.net.util to
 206         java.desktop,
 207         jdk.jconsole,
 208         jdk.naming.dns;
 209     exports sun.net.www to
 210         java.desktop,
 211         jdk.jartool;
 212     exports sun.net.www.protocol.http to
 213         java.security.jgss;
 214     exports sun.nio.ch to
 215         java.management,
 216         jdk.crypto.pkcs11,
 217         jdk.sctp;
 218     exports sun.nio.cs to
 219         java.desktop,
 220         jdk.charsets;
 221     exports sun.reflect.annotation to
 222         jdk.compiler;
 223     exports sun.reflect.generics.reflectiveObjects to
 224         java.desktop;
 225     exports sun.reflect.misc to
 226         java.corba,
 227         java.desktop,
 228         java.datatransfer,
 229         java.management,
 230         java.rmi,
 231         java.sql.rowset,
 232         java.xml,
 233         java.xml.ws;
 234     exports sun.security.action to
 235         java.desktop,
 236         java.security.jgss,
 237         jdk.crypto.pkcs11;
 238     exports sun.security.internal.interfaces to
 239         jdk.crypto.pkcs11;
 240     exports sun.security.internal.spec to
 241         jdk.crypto.pkcs11;
 242     exports sun.security.jca to
 243         java.smartcardio,
 244         java.xml.crypto,
 245         jdk.crypto.ec,
 246         jdk.crypto.pkcs11,
 247         jdk.naming.dns;
 248     exports sun.security.pkcs to
 249         jdk.crypto.ec,
 250         jdk.jartool;
 251     exports sun.security.provider to
 252         java.rmi,
 253         java.security.jgss,
 254         jdk.crypto.pkcs11,
 255         jdk.policytool,
 256         jdk.security.auth;
 257     exports sun.security.provider.certpath to
 258         java.naming;
 259     exports sun.security.rsa to
 260         jdk.crypto.pkcs11;
 261     exports sun.security.ssl to
 262         java.security.jgss;
 263     exports sun.security.tools to
 264         jdk.jartool;
 265     exports sun.security.util to
 266         java.desktop,
 267         java.naming,
 268         java.rmi,
 269         java.security.jgss,
 270         java.security.sasl,
 271         java.smartcardio,
 272         jdk.crypto.ec,
 273         jdk.crypto.pkcs11,
 274         jdk.jartool,
 275         jdk.policytool,
 276         jdk.security.auth,
 277         jdk.security.jgss;
 278     exports sun.security.x509 to
 279         jdk.crypto.ec,
 280         jdk.crypto.pkcs11,
 281         jdk.jartool,
 282         jdk.security.auth;
 283     exports sun.text.resources to
 284         jdk.localedata;
 285     exports sun.util.resources to
 286         jdk.localedata;
 287     exports sun.util.locale.provider to
 288         java.desktop,
 289         jdk.localedata;
 290     exports sun.util.logging to
 291         java.desktop,
 292         java.logging,
 293         java.prefs;
 294 
 295     // JDK-internal service types
 296     uses jdk.internal.logger.DefaultLoggerFinder;
 297     uses sun.security.ssl.ClientKeyExchangeService;
 298     uses sun.util.spi.CalendarProvider;
 299     uses sun.util.locale.provider.LocaleDataMetaInfo;
 300     uses sun.util.resources.LocaleData.CommonResourceBundleProvider;
 301     uses sun.util.resources.LocaleData.SupplementaryResourceBundleProvider;
 302 
 303 
 304     // Built-in service providers that are located via ServiceLoader
 305 
 306     provides java.nio.file.spi.FileSystemProvider with
 307         jdk.internal.jrtfs.JrtFileSystemProvider;
 308 }
 309