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