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 
  85     // the service types defined by the APIs in this module
  86 
  87     uses java.lang.System.LoggerFinder;
  88     uses java.net.ContentHandlerFactory;
  89     uses java.net.spi.URLStreamHandlerProvider;
  90     uses java.nio.channels.spi.AsynchronousChannelProvider;
  91     uses java.nio.channels.spi.SelectorProvider;
  92     uses java.nio.charset.spi.CharsetProvider;
  93     uses java.nio.file.spi.FileSystemProvider;
  94     uses java.nio.file.spi.FileTypeDetector;
  95     uses java.security.Provider;
  96     uses java.text.spi.BreakIteratorProvider;
  97     uses java.text.spi.CollatorProvider;
  98     uses java.text.spi.DateFormatProvider;
  99     uses java.text.spi.DateFormatSymbolsProvider;
 100     uses java.text.spi.DecimalFormatSymbolsProvider;
 101     uses java.text.spi.NumberFormatProvider;
 102     uses java.time.chrono.AbstractChronology;
 103     uses java.time.chrono.Chronology;
 104     uses java.time.zone.ZoneRulesProvider;
 105     uses java.util.spi.CalendarDataProvider;
 106     uses java.util.spi.CalendarNameProvider;
 107     uses java.util.spi.CurrencyNameProvider;
 108     uses java.util.spi.LocaleNameProvider;
 109     uses java.util.spi.ResourceBundleControlProvider;
 110     uses java.util.spi.ResourceBundleProvider;
 111     uses java.util.spi.TimeZoneNameProvider;
 112     uses javax.security.auth.spi.LoginModule;
 113 
 114 
 115     // additional qualified exports may be inserted at build time
 116     // see make/gensrc/GenModuleInfo.gmk
 117 
 118     // CORBA serialization needs reflective access
 119     exports sun.util.calendar to
 120         java.corba;
 121 
 122     exports com.sun.security.ntlm to
 123         java.security.sasl;
 124     exports jdk.internal.jimage to
 125         jdk.jlink;
 126     exports jdk.internal.jimage.decompressor to
 127         jdk.jlink;
 128     exports jdk.internal.logger to
 129         java.logging;
 130     exports jdk.internal.org.objectweb.asm to
 131         jdk.jlink,
 132         jdk.scripting.nashorn,
 133         jdk.vm.ci;
 134     exports jdk.internal.org.objectweb.asm.tree to
 135         jdk.jlink;
 136     exports jdk.internal.org.objectweb.asm.util to
 137         jdk.jlink,
 138         jdk.scripting.nashorn;
 139     exports jdk.internal.org.objectweb.asm.tree.analysis to
 140         jdk.jlink;
 141     exports jdk.internal.org.objectweb.asm.commons to
 142         jdk.scripting.nashorn;
 143     exports jdk.internal.org.objectweb.asm.signature to
 144         jdk.scripting.nashorn;
 145     exports jdk.internal.loader to
 146         java.instrument;
 147     exports jdk.internal.math to
 148         java.desktop;
 149     exports jdk.internal.module to
 150         java.instrument,
 151         java.management,
 152         jdk.dynalink,
 153         jdk.jartool,
 154         jdk.jlink;
 155     exports jdk.internal.misc to
 156         java.corba,
 157         java.desktop,
 158         java.logging,
 159         java.management,
 160         java.naming,
 161         java.rmi,
 162         java.security.jgss,
 163         java.sql,
 164         java.xml,
 165         jdk.charsets,
 166         jdk.compiler,
 167         jdk.jartool,
 168         jdk.jlink,
 169         jdk.net,
 170         jdk.scripting.nashorn,
 171         jdk.unsupported,
 172         jdk.vm.ci;
 173     exports jdk.internal.perf to
 174         java.desktop,
 175         java.management,
 176         jdk.jvmstat;
 177     exports jdk.internal.ref to
 178         java.desktop;
 179     exports jdk.internal.reflect to
 180         java.corba,
 181         java.logging,
 182         java.sql,
 183         java.sql.rowset,
 184         jdk.dynalink,
 185         jdk.scripting.nashorn,
 186         jdk.unsupported;
 187     exports jdk.internal.vm.annotation to
 188         jdk.unsupported,
 189         jdk.vm.ci;
 190     exports jdk.internal.util.jar to
 191         jdk.jartool;
 192     exports jdk.internal.vm to
 193         java.management,
 194         jdk.jvmstat;
 195     exports sun.net to
 196         java.httpclient;
 197     exports sun.net.ext to
 198         jdk.net;
 199     exports sun.net.dns to
 200         java.security.jgss,
 201         jdk.naming.dns;
 202     exports sun.net.util to
 203         java.desktop,
 204         jdk.jconsole,
 205         jdk.naming.dns;
 206     exports sun.net.www to
 207         java.desktop,
 208         jdk.jartool;
 209     exports sun.net.www.protocol.http to
 210         java.security.jgss;
 211     exports sun.nio.ch to
 212         java.management,
 213         jdk.crypto.pkcs11,
 214         jdk.sctp;
 215     exports sun.nio.cs to
 216         java.desktop,
 217         jdk.charsets;
 218     exports sun.nio.fs to
 219         jdk.unsupported;
 220     exports sun.reflect.annotation to
 221         jdk.compiler;
 222     exports sun.reflect.generics.reflectiveObjects to
 223         java.desktop;
 224     exports sun.reflect.misc to
 225         java.corba,
 226         java.desktop,
 227         java.datatransfer,
 228         java.management,
 229         java.rmi,
 230         java.sql.rowset,
 231         java.xml,
 232         java.xml.ws;
 233     exports sun.security.action to
 234         java.desktop,
 235         java.security.jgss,
 236         jdk.crypto.pkcs11;
 237     exports sun.security.internal.interfaces to
 238         jdk.crypto.pkcs11;
 239     exports sun.security.internal.spec to
 240         jdk.crypto.pkcs11;
 241     exports sun.security.jca to
 242         java.smartcardio,
 243         java.xml.crypto,
 244         jdk.crypto.ec,
 245         jdk.crypto.pkcs11,
 246         jdk.naming.dns;
 247     exports sun.security.pkcs to
 248         jdk.crypto.ec,
 249         jdk.jartool;
 250     exports sun.security.provider to
 251         java.rmi,
 252         java.security.jgss,
 253         jdk.crypto.pkcs11,
 254         jdk.policytool,
 255         jdk.security.auth;
 256     exports sun.security.provider.certpath to
 257         java.naming;
 258     exports sun.security.rsa to
 259         jdk.crypto.pkcs11;
 260     exports sun.security.ssl to
 261         java.security.jgss;
 262     exports sun.security.tools to
 263         jdk.jartool;
 264     exports sun.security.util to
 265         java.desktop,
 266         java.naming,
 267         java.rmi,
 268         java.security.jgss,
 269         java.security.sasl,
 270         java.smartcardio,
 271         jdk.crypto.ec,
 272         jdk.crypto.pkcs11,
 273         jdk.jartool,
 274         jdk.policytool,
 275         jdk.security.auth,
 276         jdk.security.jgss;
 277     exports sun.security.x509 to
 278         jdk.crypto.ec,
 279         jdk.crypto.pkcs11,
 280         jdk.jartool,
 281         jdk.security.auth;
 282     exports sun.text.resources to
 283         jdk.localedata;
 284     exports sun.util.cldr to
 285         jdk.jlink;
 286     exports sun.util.locale.provider to
 287         java.desktop,
 288         jdk.jlink,
 289         jdk.localedata;
 290     exports sun.util.logging to
 291         java.desktop,
 292         java.logging,
 293         java.prefs;
 294     exports sun.util.resources to
 295         jdk.localedata;
 296 
 297     // JDK-internal service types
 298     uses jdk.internal.logger.DefaultLoggerFinder;
 299     uses sun.security.ssl.ClientKeyExchangeService;
 300     uses sun.util.spi.CalendarProvider;
 301     uses sun.util.locale.provider.LocaleDataMetaInfo;
 302     uses sun.util.resources.LocaleData.CommonResourceBundleProvider;
 303     uses sun.util.resources.LocaleData.SupplementaryResourceBundleProvider;
 304 
 305 
 306     // Built-in service providers that are located via ServiceLoader
 307 
 308     provides java.nio.file.spi.FileSystemProvider with
 309         jdk.internal.jrtfs.JrtFileSystemProvider;
 310 }
 311