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 jdk.jlink; 216 exports sun.net to 217 jdk.incubator.httpclient; 218 exports sun.net.ext to 219 jdk.net; 220 exports sun.net.dns to 221 java.security.jgss, 222 jdk.naming.dns; 223 exports sun.net.util to 224 java.desktop, 225 jdk.jconsole, 226 jdk.incubator.httpclient; 227 exports sun.net.www to 228 java.desktop, 229 jdk.incubator.httpclient, 230 jdk.jartool; 231 exports sun.net.www.protocol.http to 232 java.security.jgss; 233 exports sun.nio.ch to 234 java.management, 235 jdk.crypto.cryptoki, 236 jdk.sctp, 237 jdk.unsupported; 238 exports sun.nio.cs to 239 java.desktop, 240 jdk.charsets; 241 exports sun.nio.fs to 242 jdk.unsupported; 243 exports sun.reflect.annotation to 244 jdk.compiler; 245 exports sun.reflect.generics.reflectiveObjects to 246 java.desktop; 247 exports sun.reflect.misc to 248 java.desktop, 249 java.datatransfer, 250 java.management, 251 java.management.rmi, 252 java.rmi, 253 java.sql.rowset, 254 java.xml; 255 exports sun.security.action to 256 java.desktop, 257 java.security.jgss; 258 exports sun.security.internal.interfaces to 259 jdk.crypto.cryptoki; 260 exports sun.security.internal.spec to 261 jdk.crypto.cryptoki; 262 exports sun.security.jca to 263 java.smartcardio, 264 jdk.crypto.ec, 265 jdk.crypto.cryptoki, 266 jdk.naming.dns; 267 exports sun.security.pkcs to 268 jdk.crypto.ec, 269 jdk.jartool; 270 exports sun.security.provider to 271 java.rmi, 272 java.security.jgss, 273 jdk.crypto.cryptoki, 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.security.auth, 297 jdk.security.jgss; 298 exports sun.security.x509 to 299 jdk.crypto.ec, 300 jdk.crypto.cryptoki, 301 jdk.jartool, 302 jdk.security.auth; 303 exports sun.security.validator to 304 jdk.jartool; 305 exports sun.text.resources to 306 jdk.localedata; 307 exports sun.util.cldr to 308 jdk.jlink; 309 exports sun.util.locale.provider to 310 java.desktop, 311 jdk.jlink, 312 jdk.localedata; 313 exports sun.util.logging to 314 java.desktop, 315 java.logging, 316 java.prefs; 317 exports sun.util.resources to 318 jdk.localedata; 319 320 321 // the service types defined by the APIs in this module 322 323 uses java.lang.System.LoggerFinder; 324 uses java.net.ContentHandlerFactory; 325 uses java.net.spi.URLStreamHandlerProvider; 326 uses java.nio.channels.spi.AsynchronousChannelProvider; 327 uses java.nio.channels.spi.SelectorProvider; 328 uses java.nio.charset.spi.CharsetProvider; 329 uses java.nio.file.spi.FileSystemProvider; 330 uses java.nio.file.spi.FileTypeDetector; 331 uses java.security.Provider; 332 uses java.text.spi.BreakIteratorProvider; 333 uses java.text.spi.CollatorProvider; 334 uses java.text.spi.DateFormatProvider; 335 uses java.text.spi.DateFormatSymbolsProvider; 336 uses java.text.spi.DecimalFormatSymbolsProvider; 337 uses java.text.spi.NumberFormatProvider; 338 uses java.time.chrono.AbstractChronology; 339 uses java.time.chrono.Chronology; 340 uses java.time.zone.ZoneRulesProvider; 341 uses java.util.spi.CalendarDataProvider; 342 uses java.util.spi.CalendarNameProvider; 343 uses java.util.spi.CurrencyNameProvider; 344 uses java.util.spi.LocaleNameProvider; 345 uses java.util.spi.ResourceBundleControlProvider; 346 uses java.util.spi.ResourceBundleProvider; 347 uses java.util.spi.TimeZoneNameProvider; 348 uses java.util.spi.ToolProvider; 349 uses javax.security.auth.spi.LoginModule; 350 351 // JDK-internal service types 352 353 uses jdk.internal.logger.DefaultLoggerFinder; 354 uses sun.security.ssl.ClientKeyExchangeService; 355 uses sun.text.spi.JavaTimeDateTimePatternProvider; 356 uses sun.util.spi.CalendarProvider; 357 uses sun.util.locale.provider.LocaleDataMetaInfo; 358 uses sun.util.resources.LocaleData.CommonResourceBundleProvider; 359 uses sun.util.resources.LocaleData.SupplementaryResourceBundleProvider; 360 361 // Built-in service providers that are located via ServiceLoader 362 363 provides java.nio.file.spi.FileSystemProvider with 364 jdk.internal.jrtfs.JrtFileSystemProvider; 365 }