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