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