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 * </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 132 // additional qualified exports may be inserted at build time 133 // see make/gensrc/GenModuleInfo.gmk 134 135 exports com.sun.security.ntlm to 136 java.security.sasl; 137 exports jdk.internal.jimage to 138 jdk.jlink; 139 exports jdk.internal.jimage.decompressor to 140 jdk.jlink; 141 exports jdk.internal.loader to 142 java.instrument, 143 java.logging; 144 exports jdk.internal.jmod to 145 jdk.compiler, // reflective dependency 146 jdk.jlink; 147 exports jdk.internal.logger to 148 java.logging; 149 exports jdk.internal.org.objectweb.asm to 150 jdk.jartool, 151 jdk.jlink, 152 jdk.scripting.nashorn, 153 jdk.internal.vm.ci; 154 exports jdk.internal.org.objectweb.asm.tree to 155 jdk.jlink; 156 exports jdk.internal.org.objectweb.asm.util to 157 jdk.scripting.nashorn; 158 exports jdk.internal.org.objectweb.asm.commons to 159 jdk.scripting.nashorn; 160 exports jdk.internal.org.objectweb.asm.signature to 161 jdk.scripting.nashorn; 162 exports jdk.internal.math to 163 java.desktop; 164 exports jdk.internal.misc to 165 java.desktop, 166 java.logging, 167 java.management, 168 java.naming, 169 java.rmi, 170 java.security.jgss, 171 java.sql, 172 java.xml, 173 jdk.attach, 174 jdk.charsets, 175 jdk.compiler, // reflective dependency 176 jdk.incubator.httpclient, 177 jdk.jdeps, 178 jdk.jlink, 179 jdk.jshell, 180 jdk.net, 181 jdk.scripting.nashorn, 182 jdk.scripting.nashorn.shell, 183 jdk.unsupported, 184 jdk.internal.vm.ci; 185 exports jdk.internal.module to 186 java.instrument, 187 java.management.rmi, 188 jdk.jartool, 189 jdk.jlink; 190 exports jdk.internal.perf to 191 java.desktop, 192 java.management, 193 jdk.management.agent, 194 jdk.internal.jvmstat; 195 exports jdk.internal.ref to 196 java.desktop, 197 jdk.unsupported; 198 exports jdk.internal.reflect to 199 java.logging, 200 java.sql, 201 java.sql.rowset, 202 jdk.dynalink, 203 jdk.scripting.nashorn, 204 jdk.unsupported; 205 exports jdk.internal.vm to 206 jdk.management.agent, 207 jdk.internal.jvmstat; 208 exports jdk.internal.vm.annotation to 209 jdk.unsupported, 210 jdk.internal.vm.ci, 211 jdk.incubator.httpclient; 212 exports jdk.internal.util.jar to 213 jdk.jartool, 214 jdk.jdeps; 215 exports sun.net to 216 jdk.incubator.httpclient; 217 exports sun.net.ext to 218 jdk.net; 219 exports sun.net.dns to 220 java.security.jgss, 221 jdk.naming.dns; 222 exports sun.net.util to 223 java.desktop, 224 jdk.jconsole, 225 jdk.incubator.httpclient; 226 exports sun.net.www to 227 java.desktop, 228 jdk.incubator.httpclient, 229 jdk.jartool; 230 exports sun.net.www.protocol.http to 231 java.security.jgss; 232 exports sun.nio.ch to 233 java.management, 234 jdk.crypto.cryptoki, 235 jdk.sctp, 236 jdk.unsupported; 237 exports sun.nio.cs to 238 java.desktop, 239 jdk.charsets; 240 exports sun.nio.fs to 241 jdk.unsupported; 242 exports sun.reflect.annotation to 243 jdk.compiler; 244 exports sun.reflect.generics.reflectiveObjects to 245 java.desktop; 246 exports sun.reflect.misc to 247 java.desktop, 248 java.datatransfer, 249 java.management, 250 java.management.rmi, 251 java.rmi, 252 java.sql.rowset, 253 java.xml; 254 exports sun.security.action to 255 java.desktop, 256 java.security.jgss; 257 exports sun.security.internal.interfaces to 258 jdk.crypto.cryptoki; 259 exports sun.security.internal.spec to 260 jdk.crypto.cryptoki; 261 exports sun.security.jca to 262 java.smartcardio, 263 jdk.crypto.ec, 264 jdk.crypto.cryptoki, 265 jdk.naming.dns; 266 exports sun.security.pkcs to 267 jdk.crypto.ec, 268 jdk.jartool; 269 exports sun.security.provider to 270 java.rmi, 271 java.security.jgss, 272 jdk.crypto.cryptoki, 273 jdk.security.auth; 274 exports sun.security.provider.certpath to 275 java.naming; 276 exports sun.security.rsa to 277 jdk.crypto.cryptoki; 278 exports sun.security.ssl to 279 java.security.jgss; 280 exports sun.security.timestamp to 281 jdk.jartool; 282 exports sun.security.tools to 283 jdk.jartool; 284 exports sun.security.util to 285 java.desktop, 286 java.naming, 287 java.rmi, 288 java.security.jgss, 289 java.security.sasl, 290 java.smartcardio, 291 java.xml.crypto, 292 jdk.crypto.ec, 293 jdk.crypto.cryptoki, 294 jdk.jartool, 295 jdk.security.auth, 296 jdk.security.jgss; 297 exports sun.security.x509 to 298 jdk.crypto.ec, 299 jdk.crypto.cryptoki, 300 jdk.jartool, 301 jdk.security.auth; 302 exports sun.security.validator to 303 jdk.jartool; 304 exports sun.text.resources to 305 jdk.localedata; 306 exports sun.util.cldr to 307 jdk.jlink; 308 exports sun.util.locale.provider to 309 java.desktop, 310 jdk.jlink, 311 jdk.localedata; 312 exports sun.util.logging to 313 java.desktop, 314 java.logging, 315 java.prefs; 316 exports sun.util.resources to 317 jdk.localedata; 318 319 320 // the service types defined by the APIs in this module 321 322 uses java.lang.System.LoggerFinder; 323 uses java.net.ContentHandlerFactory; 324 uses java.net.spi.URLStreamHandlerProvider; 325 uses java.nio.channels.spi.AsynchronousChannelProvider; 326 uses java.nio.channels.spi.SelectorProvider; 327 uses java.nio.charset.spi.CharsetProvider; 328 uses java.nio.file.spi.FileSystemProvider; 329 uses java.nio.file.spi.FileTypeDetector; 330 uses java.security.Provider; 331 uses java.text.spi.BreakIteratorProvider; 332 uses java.text.spi.CollatorProvider; 333 uses java.text.spi.DateFormatProvider; 334 uses java.text.spi.DateFormatSymbolsProvider; 335 uses java.text.spi.DecimalFormatSymbolsProvider; 336 uses java.text.spi.NumberFormatProvider; 337 uses java.time.chrono.AbstractChronology; 338 uses java.time.chrono.Chronology; 339 uses java.time.zone.ZoneRulesProvider; 340 uses java.util.spi.CalendarDataProvider; 341 uses java.util.spi.CalendarNameProvider; 342 uses java.util.spi.CurrencyNameProvider; 343 uses java.util.spi.LocaleNameProvider; 344 uses java.util.spi.ResourceBundleControlProvider; 345 uses java.util.spi.ResourceBundleProvider; 346 uses java.util.spi.TimeZoneNameProvider; 347 uses java.util.spi.ToolProvider; 348 uses javax.security.auth.spi.LoginModule; 349 350 // JDK-internal service types 351 352 uses jdk.internal.logger.DefaultLoggerFinder; 353 uses sun.security.ssl.ClientKeyExchangeService; 354 uses sun.text.spi.JavaTimeDateTimePatternProvider; 355 uses sun.util.spi.CalendarProvider; 356 uses sun.util.locale.provider.LocaleDataMetaInfo; 357 uses sun.util.resources.LocaleData.CommonResourceBundleProvider; 358 uses sun.util.resources.LocaleData.SupplementaryResourceBundleProvider; 359 360 // Built-in service providers that are located via ServiceLoader 361 362 provides java.nio.file.spi.FileSystemProvider with 363 jdk.internal.jrtfs.JrtFileSystemProvider; 364 }