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