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