1 /* 2 * Copyright (c) 2014, 2017, 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 * Defines the foundational APIs of the Java SE Platform. 28 * 29 * @moduleGraph 30 * @since 9 31 */ 32 module java.base { 33 34 exports java.io; 35 exports java.lang; 36 exports java.lang.annotation; 37 exports java.lang.invoke; 38 exports java.lang.module; 39 exports java.lang.ref; 40 exports java.lang.reflect; 41 exports java.math; 42 exports java.net; 43 exports java.net.spi; 44 exports java.nio; 45 exports java.nio.channels; 46 exports java.nio.channels.spi; 47 exports java.nio.charset; 48 exports java.nio.charset.spi; 49 exports java.nio.file; 50 exports java.nio.file.attribute; 51 exports java.nio.file.spi; 52 exports java.security; 53 exports java.security.acl; 54 exports java.security.cert; 55 exports java.security.interfaces; 56 exports java.security.spec; 57 exports java.text; 58 exports java.text.spi; 59 exports java.time; 60 exports java.time.chrono; 61 exports java.time.format; 62 exports java.time.temporal; 63 exports java.time.zone; 64 exports java.util; 65 exports java.util.concurrent; 66 exports java.util.concurrent.atomic; 67 exports java.util.concurrent.locks; 68 exports java.util.function; 69 exports java.util.jar; 70 exports java.util.regex; 71 exports java.util.spi; 72 exports java.util.stream; 73 exports java.util.zip; 74 exports javax.crypto; 75 exports javax.crypto.interfaces; 76 exports javax.crypto.spec; 77 exports javax.net; 78 exports javax.net.ssl; 79 exports javax.security.auth; 80 exports javax.security.auth.callback; 81 exports javax.security.auth.login; 82 exports javax.security.auth.spi; 83 exports javax.security.auth.x500; 84 exports javax.security.cert; 85 86 87 // the service types defined by the APIs in this module 88 89 uses java.lang.System.LoggerFinder; 90 uses java.net.ContentHandlerFactory; 91 uses java.net.spi.URLStreamHandlerProvider; 92 uses java.nio.channels.spi.AsynchronousChannelProvider; 93 uses java.nio.channels.spi.SelectorProvider; 94 uses java.nio.charset.spi.CharsetProvider; 95 uses java.nio.file.spi.FileSystemProvider; 96 uses java.nio.file.spi.FileTypeDetector; 97 uses java.security.Provider; 98 uses java.text.spi.BreakIteratorProvider; 99 uses java.text.spi.CollatorProvider; 100 uses java.text.spi.DateFormatProvider; 101 uses java.text.spi.DateFormatSymbolsProvider; 102 uses java.text.spi.DecimalFormatSymbolsProvider; 103 uses java.text.spi.NumberFormatProvider; 104 uses java.time.chrono.AbstractChronology; 105 uses java.time.chrono.Chronology; 106 uses java.time.zone.ZoneRulesProvider; 107 uses java.util.spi.CalendarDataProvider; 108 uses java.util.spi.CalendarNameProvider; 109 uses java.util.spi.CurrencyNameProvider; 110 uses java.util.spi.LocaleNameProvider; 111 uses java.util.spi.ResourceBundleControlProvider; 112 uses java.util.spi.ResourceBundleProvider; 113 uses java.util.spi.TimeZoneNameProvider; 114 uses java.util.spi.ToolProvider; 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 exports com.sun.security.ntlm to 122 java.security.sasl; 123 exports jdk.internal.jimage to 124 jdk.jlink; 125 exports jdk.internal.jimage.decompressor to 126 jdk.jlink; 127 exports jdk.internal.loader to 128 java.instrument, 129 java.logging; 130 exports jdk.internal.jmod to 131 jdk.compiler, // reflective dependency 132 jdk.jlink; 133 exports jdk.internal.logger to 134 java.logging; 135 exports jdk.internal.org.objectweb.asm to 136 jdk.jartool, 137 jdk.jlink, 138 jdk.scripting.nashorn, 139 jdk.internal.vm.ci; 140 exports jdk.internal.org.objectweb.asm.tree to 141 jdk.jlink; 142 exports jdk.internal.org.objectweb.asm.util to 143 jdk.scripting.nashorn; 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.math to 149 java.desktop; 150 exports jdk.internal.module to 151 java.instrument, 152 java.management.rmi, 153 jdk.jartool, 154 jdk.jlink; 155 exports jdk.internal.misc to 156 java.desktop, 157 java.logging, 158 java.management, 159 java.naming, 160 java.rmi, 161 java.security.jgss, 162 java.sql, 163 java.xml, 164 jdk.charsets, 165 jdk.compiler, // reflective dependency 166 jdk.incubator.httpclient, 167 jdk.jdeps, 168 jdk.jlink, 169 jdk.jshell, 170 jdk.net, 171 jdk.scripting.nashorn, 172 jdk.scripting.nashorn.shell, 173 jdk.unsupported, 174 jdk.internal.vm.ci; 175 exports jdk.internal.perf to 176 java.desktop, 177 java.management, 178 jdk.management.agent, 179 jdk.internal.jvmstat; 180 exports jdk.internal.ref to 181 java.desktop, 182 jdk.unsupported; 183 exports jdk.internal.reflect to 184 java.logging, 185 java.sql, 186 java.sql.rowset, 187 jdk.dynalink, 188 jdk.scripting.nashorn, 189 jdk.unsupported; 190 exports jdk.internal.vm.annotation to 191 jdk.unsupported, 192 jdk.internal.vm.ci; 193 exports jdk.internal.util.jar to 194 jdk.jartool, 195 jdk.jdeps, 196 jdk.jlink; 197 exports jdk.internal.vm to 198 jdk.management.agent, 199 jdk.internal.jvmstat; 200 exports sun.net to 201 jdk.incubator.httpclient; 202 exports sun.net.ext to 203 jdk.net; 204 exports sun.net.dns to 205 java.security.jgss, 206 jdk.naming.dns; 207 exports sun.net.util to 208 java.desktop, 209 jdk.jconsole; 210 exports sun.net.www to 211 java.desktop, 212 jdk.incubator.httpclient, 213 jdk.jartool; 214 exports sun.net.www.protocol.http to 215 java.security.jgss; 216 exports sun.nio.ch to 217 java.management, 218 jdk.crypto.cryptoki, 219 jdk.sctp, 220 jdk.unsupported; 221 exports sun.nio.cs to 222 java.desktop, 223 jdk.charsets; 224 exports sun.nio.fs to 225 jdk.unsupported; 226 exports sun.reflect.annotation to 227 jdk.compiler; 228 exports sun.reflect.generics.reflectiveObjects to 229 java.desktop; 230 exports sun.reflect.misc to 231 java.desktop, 232 java.datatransfer, 233 java.management, 234 java.management.rmi, 235 java.rmi, 236 java.sql.rowset, 237 java.xml; 238 exports sun.security.action to 239 java.desktop, 240 java.security.jgss; 241 exports sun.security.internal.interfaces to 242 jdk.crypto.cryptoki; 243 exports sun.security.internal.spec to 244 jdk.crypto.cryptoki; 245 exports sun.security.jca to 246 java.smartcardio, 247 jdk.crypto.ec, 248 jdk.crypto.cryptoki, 249 jdk.naming.dns; 250 exports sun.security.pkcs to 251 jdk.crypto.ec, 252 jdk.jartool; 253 exports sun.security.provider to 254 java.rmi, 255 java.security.jgss, 256 jdk.crypto.cryptoki, 257 jdk.policytool, 258 jdk.security.auth; 259 exports sun.security.provider.certpath to 260 java.naming; 261 exports sun.security.rsa to 262 jdk.crypto.cryptoki; 263 exports sun.security.ssl to 264 java.security.jgss; 265 exports sun.security.timestamp to 266 jdk.jartool; 267 exports sun.security.tools to 268 jdk.jartool; 269 exports sun.security.util to 270 java.desktop, 271 java.naming, 272 java.rmi, 273 java.security.jgss, 274 java.security.sasl, 275 java.smartcardio, 276 java.xml.crypto, 277 jdk.crypto.ec, 278 jdk.crypto.cryptoki, 279 jdk.jartool, 280 jdk.policytool, 281 jdk.security.auth, 282 jdk.security.jgss; 283 exports sun.security.x509 to 284 jdk.crypto.ec, 285 jdk.crypto.cryptoki, 286 jdk.jartool, 287 jdk.security.auth; 288 exports sun.security.validator to 289 jdk.jartool; 290 exports sun.text.resources to 291 jdk.localedata; 292 exports sun.util.cldr to 293 jdk.jlink; 294 exports sun.util.locale.provider to 295 java.desktop, 296 jdk.jlink, 297 jdk.localedata; 298 exports sun.util.logging to 299 java.desktop, 300 java.logging, 301 java.prefs; 302 exports sun.util.resources to 303 jdk.localedata; 304 305 // JDK-internal service types 306 uses jdk.internal.logger.DefaultLoggerFinder; 307 uses sun.security.ssl.ClientKeyExchangeService; 308 uses sun.text.spi.JavaTimeDateTimePatternProvider; 309 uses sun.util.spi.CalendarProvider; 310 uses sun.util.locale.provider.LocaleDataMetaInfo; 311 uses sun.util.resources.LocaleData.CommonResourceBundleProvider; 312 uses sun.util.resources.LocaleData.SupplementaryResourceBundleProvider; 313 314 315 // Built-in service providers that are located via ServiceLoader 316 317 provides java.nio.file.spi.FileSystemProvider with 318 jdk.internal.jrtfs.JrtFileSystemProvider; 319 }