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 * <dl> 30 * <dt class="simpleTagLabel" style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">Providers:</dt> 31 * <dd> The JDK implementation of this module provides an implementation of 32 * the {@index jrt jrt} {@linkplain java.nio.file.spi.FileSystemProvider 33 * file system provider} to enumerate and read the class and resource 34 * files in a run-time image. 35 * The jrt file system can be created by calling 36 * {@link java.nio.file.FileSystems#newFileSystem 37 * FileSystems.newFileSystem(URI.create("jrt:/"))}. 38 * <p></dd> 39 * <dt class="simpleTagLabel" style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">Tool Guides:</dt> 40 * <dd style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif"> {@extLink java_tool_reference java launcher}, 41 * {@extLink keytool_tool_reference keytool}</dd> 42 * </dl> 43 * 44 * @provides java.nio.file.spi.FileSystemProvider 45 * 46 * @uses java.lang.System.LoggerFinder 47 * @uses java.net.ContentHandlerFactory 48 * @uses java.net.spi.URLStreamHandlerProvider 49 * @uses java.nio.channels.spi.AsynchronousChannelProvider 50 * @uses java.nio.channels.spi.SelectorProvider 51 * @uses java.nio.charset.spi.CharsetProvider 52 * @uses java.nio.file.spi.FileSystemProvider 53 * @uses java.nio.file.spi.FileTypeDetector 54 * @uses java.security.Provider 55 * @uses java.text.spi.BreakIteratorProvider 56 * @uses java.text.spi.CollatorProvider 57 * @uses java.text.spi.DateFormatProvider 58 * @uses java.text.spi.DateFormatSymbolsProvider 59 * @uses java.text.spi.DecimalFormatSymbolsProvider 60 * @uses java.text.spi.NumberFormatProvider 61 * @uses java.time.chrono.AbstractChronology 62 * @uses java.time.chrono.Chronology 63 * @uses java.time.zone.ZoneRulesProvider 64 * @uses java.util.spi.CalendarDataProvider 65 * @uses java.util.spi.CalendarNameProvider 66 * @uses java.util.spi.CurrencyNameProvider 67 * @uses java.util.spi.LocaleNameProvider 68 * @uses java.util.spi.ResourceBundleControlProvider 69 * @uses java.util.spi.ResourceBundleProvider 70 * @uses java.util.spi.TimeZoneNameProvider 71 * @uses java.util.spi.ToolProvider 72 * @uses javax.security.auth.spi.LoginModule 73 * 74 * @moduleGraph 75 * @since 9 76 */ 77 module java.base { 78 79 exports java.io; 80 exports java.lang; 81 exports java.lang.annotation; 82 exports java.lang.invoke; 83 exports java.lang.module; 84 exports java.lang.ref; 85 exports java.lang.reflect; 86 exports java.math; 87 exports java.net; 88 exports java.net.spi; 89 exports java.nio; 90 exports java.nio.channels; 91 exports java.nio.channels.spi; 92 exports java.nio.charset; 93 exports java.nio.charset.spi; 94 exports java.nio.file; 95 exports java.nio.file.attribute; 96 exports java.nio.file.spi; 97 exports java.security; 98 exports java.security.acl; 99 exports java.security.cert; 100 exports java.security.interfaces; 101 exports java.security.spec; 102 exports java.text; 103 exports java.text.spi; 104 exports java.time; 105 exports java.time.chrono; 106 exports java.time.format; 107 exports java.time.temporal; 108 exports java.time.zone; 109 exports java.util; 110 exports java.util.concurrent; 111 exports java.util.concurrent.atomic; 112 exports java.util.concurrent.locks; 113 exports java.util.function; 114 exports java.util.jar; 115 exports java.util.regex; 116 exports java.util.spi; 117 exports java.util.stream; 118 exports java.util.zip; 119 exports javax.crypto; 120 exports javax.crypto.interfaces; 121 exports javax.crypto.spec; 122 exports javax.net; 123 exports javax.net.ssl; 124 exports javax.security.auth; 125 exports javax.security.auth.callback; 126 exports javax.security.auth.login; 127 exports javax.security.auth.spi; 128 exports javax.security.auth.x500; 129 exports javax.security.cert; 130 131 // Valhalla support 132 exports jvm.internal.value; 133 exports jdk.experimental.value; 134 exports valhalla.shady; 135 exports jdk.experimental.bytecode; 136 137 // additional qualified exports may be inserted at build time 138 // see make/gensrc/GenModuleInfo.gmk 139 140 exports com.sun.security.ntlm to 141 java.security.sasl; 142 exports jdk.internal.jimage to 143 jdk.jlink; 144 exports jdk.internal.jimage.decompressor to 145 jdk.jlink; 146 exports jdk.internal.loader to 147 java.instrument, 148 java.logging; 149 exports jdk.internal.jmod to 150 jdk.compiler, // reflective dependency 151 jdk.jlink; 152 exports jdk.internal.logger to 153 java.logging; 154 exports jdk.internal.org.objectweb.asm to 155 jdk.jartool, 156 jdk.jlink, 157 jdk.scripting.nashorn, 158 jdk.internal.vm.ci; 159 exports jdk.internal.org.objectweb.asm.tree to 160 jdk.jlink; 161 exports jdk.internal.org.objectweb.asm.util to 162 jdk.scripting.nashorn; 163 exports jdk.internal.org.objectweb.asm.commons to 164 jdk.scripting.nashorn; 165 exports jdk.internal.org.objectweb.asm.signature to 166 jdk.scripting.nashorn; 167 exports jdk.internal.math to 168 java.desktop; 169 exports jdk.internal.misc to 170 java.desktop, 171 java.logging, 172 java.management, 173 java.naming, 174 java.rmi, 175 java.security.jgss, 176 java.sql, 177 java.xml, 178 jdk.attach, 179 jdk.charsets, 180 jdk.compiler, // reflective dependency 181 jdk.incubator.httpclient, 182 jdk.jdeps, 183 jdk.jlink, 184 jdk.jshell, 185 jdk.net, 186 jdk.scripting.nashorn, 187 jdk.scripting.nashorn.shell, 188 jdk.unsupported, 189 jdk.internal.vm.ci; 190 exports jdk.internal.module to 191 java.instrument, 192 java.management.rmi, 193 jdk.jartool, 194 jdk.jlink; 195 exports jdk.internal.perf to 196 java.desktop, 197 java.management, 198 jdk.management.agent, 199 jdk.internal.jvmstat; 200 exports jdk.internal.ref to 201 java.desktop, 202 jdk.unsupported; 203 exports jdk.internal.reflect to 204 java.logging, 205 java.sql, 206 java.sql.rowset, 207 jdk.dynalink, 208 jdk.scripting.nashorn, 209 jdk.unsupported; 210 exports jdk.internal.vm to 211 jdk.management.agent, 212 jdk.internal.jvmstat; 213 exports jdk.internal.vm.annotation to 214 jdk.unsupported, 215 jdk.internal.vm.ci, 216 jdk.incubator.httpclient; 217 exports jdk.internal.util.jar to 218 jdk.jartool, 219 jdk.jdeps, 220 jdk.jlink; 221 exports sun.net to 222 jdk.incubator.httpclient; 223 exports sun.net.ext to 224 jdk.net; 225 exports sun.net.dns to 226 java.security.jgss, 227 jdk.naming.dns; 228 exports sun.net.util to 229 java.desktop, 230 jdk.jconsole, 231 jdk.incubator.httpclient; 232 exports sun.net.www to 233 java.desktop, 234 jdk.incubator.httpclient, 235 jdk.jartool; 236 exports sun.net.www.protocol.http to 237 java.security.jgss; 238 exports sun.nio.ch to 239 java.management, 240 jdk.crypto.cryptoki, 241 jdk.sctp, 242 jdk.unsupported; 243 exports sun.nio.cs to 244 java.desktop, 245 jdk.charsets; 246 exports sun.nio.fs to 247 jdk.unsupported; 248 exports sun.reflect.annotation to 249 jdk.compiler; 250 exports sun.reflect.generics.reflectiveObjects to 251 java.desktop; 252 exports sun.reflect.misc to 253 java.desktop, 254 java.datatransfer, 255 java.management, 256 java.management.rmi, 257 java.rmi, 258 java.sql.rowset, 259 java.xml; 260 exports sun.security.action to 261 java.desktop, 262 java.security.jgss; 263 exports sun.security.internal.interfaces to 264 jdk.crypto.cryptoki; 265 exports sun.security.internal.spec to 266 jdk.crypto.cryptoki; 267 exports sun.security.jca to 268 java.smartcardio, 269 jdk.crypto.ec, 270 jdk.crypto.cryptoki, 271 jdk.naming.dns; 272 exports sun.security.pkcs to 273 jdk.crypto.ec, 274 jdk.jartool; 275 exports sun.security.provider to 276 java.rmi, 277 java.security.jgss, 278 jdk.crypto.cryptoki, 279 jdk.policytool, 280 jdk.security.auth; 281 exports sun.security.provider.certpath to 282 java.naming; 283 exports sun.security.rsa to 284 jdk.crypto.cryptoki; 285 exports sun.security.ssl to 286 java.security.jgss; 287 exports sun.security.timestamp to 288 jdk.jartool; 289 exports sun.security.tools to 290 jdk.jartool; 291 exports sun.security.util to 292 java.desktop, 293 java.naming, 294 java.rmi, 295 java.security.jgss, 296 java.security.sasl, 297 java.smartcardio, 298 java.xml.crypto, 299 jdk.crypto.ec, 300 jdk.crypto.cryptoki, 301 jdk.jartool, 302 jdk.policytool, 303 jdk.security.auth, 304 jdk.security.jgss; 305 exports sun.security.x509 to 306 jdk.crypto.ec, 307 jdk.crypto.cryptoki, 308 jdk.jartool, 309 jdk.security.auth; 310 exports sun.security.validator to 311 jdk.jartool; 312 exports sun.text.resources to 313 jdk.localedata; 314 exports sun.util.cldr to 315 jdk.jlink; 316 exports sun.util.locale.provider to 317 java.desktop, 318 jdk.jlink, 319 jdk.localedata; 320 exports sun.util.logging to 321 java.desktop, 322 java.logging, 323 java.prefs; 324 exports sun.util.resources to 325 jdk.localedata; 326 327 328 // the service types defined by the APIs in this module 329 330 uses java.lang.System.LoggerFinder; 331 uses java.net.ContentHandlerFactory; 332 uses java.net.spi.URLStreamHandlerProvider; 333 uses java.nio.channels.spi.AsynchronousChannelProvider; 334 uses java.nio.channels.spi.SelectorProvider; 335 uses java.nio.charset.spi.CharsetProvider; 336 uses java.nio.file.spi.FileSystemProvider; 337 uses java.nio.file.spi.FileTypeDetector; 338 uses java.security.Provider; 339 uses java.text.spi.BreakIteratorProvider; 340 uses java.text.spi.CollatorProvider; 341 uses java.text.spi.DateFormatProvider; 342 uses java.text.spi.DateFormatSymbolsProvider; 343 uses java.text.spi.DecimalFormatSymbolsProvider; 344 uses java.text.spi.NumberFormatProvider; 345 uses java.time.chrono.AbstractChronology; 346 uses java.time.chrono.Chronology; 347 uses java.time.zone.ZoneRulesProvider; 348 uses java.util.spi.CalendarDataProvider; 349 uses java.util.spi.CalendarNameProvider; 350 uses java.util.spi.CurrencyNameProvider; 351 uses java.util.spi.LocaleNameProvider; 352 uses java.util.spi.ResourceBundleControlProvider; 353 uses java.util.spi.ResourceBundleProvider; 354 uses java.util.spi.TimeZoneNameProvider; 355 uses java.util.spi.ToolProvider; 356 uses javax.security.auth.spi.LoginModule; 357 358 // JDK-internal service types 359 360 uses jdk.internal.logger.DefaultLoggerFinder; 361 uses sun.security.ssl.ClientKeyExchangeService; 362 uses sun.text.spi.JavaTimeDateTimePatternProvider; 363 uses sun.util.spi.CalendarProvider; 364 uses sun.util.locale.provider.LocaleDataMetaInfo; 365 uses sun.util.resources.LocaleData.CommonResourceBundleProvider; 366 uses sun.util.resources.LocaleData.SupplementaryResourceBundleProvider; 367 368 // Built-in service providers that are located via ServiceLoader 369 370 provides java.nio.file.spi.FileSystemProvider with 371 jdk.internal.jrtfs.JrtFileSystemProvider; 372 }