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