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 AWT and Swing user interface toolkits, plus APIs for
  28  * accessibility, audio, imaging, printing, and JavaBeans.
  29  *
  30  * @uses java.awt.im.spi.InputMethodDescriptor
  31  * @uses javax.accessibility.AccessibilityProvider
  32  * @uses javax.imageio.spi.ImageInputStreamSpi
  33  * @uses javax.imageio.spi.ImageOutputStreamSpi
  34  * @uses javax.imageio.spi.ImageReaderSpi
  35  * @uses javax.imageio.spi.ImageTranscoderSpi
  36  * @uses javax.imageio.spi.ImageWriterSpi
  37  * @uses javax.print.PrintServiceLookup
  38  * @uses javax.print.StreamPrintServiceFactory
  39  * @uses javax.sound.midi.spi.MidiDeviceProvider
  40  * @uses javax.sound.midi.spi.MidiFileReader
  41  * @uses javax.sound.midi.spi.MidiFileWriter
  42  * @uses javax.sound.midi.spi.SoundbankReader
  43  * @uses javax.sound.sampled.spi.AudioFileReader
  44  * @uses javax.sound.sampled.spi.AudioFileWriter
  45  * @uses javax.sound.sampled.spi.FormatConversionProvider
  46  * @uses javax.sound.sampled.spi.MixerProvider
  47  *
  48  * @moduleGraph
  49  * @since 9
  50  */
  51 module java.desktop {
  52     requires java.prefs;
  53 
  54     requires transitive java.datatransfer;
  55     requires transitive java.xml;
  56 
  57     exports java.applet;
  58     exports java.awt;
  59     exports java.awt.color;
  60     exports java.awt.desktop;
  61     exports java.awt.dnd;
  62     exports java.awt.event;
  63     exports java.awt.font;
  64     exports java.awt.geom;
  65     exports java.awt.im;
  66     exports java.awt.im.spi;
  67     exports java.awt.image;
  68     exports java.awt.image.renderable;
  69     exports java.awt.print;
  70     exports java.beans;
  71     exports java.beans.beancontext;
  72     exports javax.accessibility;
  73     exports javax.imageio;
  74     exports javax.imageio.event;
  75     exports javax.imageio.metadata;
  76     exports javax.imageio.plugins.bmp;
  77     exports javax.imageio.plugins.jpeg;
  78     exports javax.imageio.plugins.tiff;
  79     exports javax.imageio.spi;
  80     exports javax.imageio.stream;
  81     exports javax.print;
  82     exports javax.print.attribute;
  83     exports javax.print.attribute.standard;
  84     exports javax.print.event;
  85     exports javax.sound.midi;
  86     exports javax.sound.midi.spi;
  87     exports javax.sound.sampled;
  88     exports javax.sound.sampled.spi;
  89     exports javax.swing;
  90     exports javax.swing.border;
  91     exports javax.swing.colorchooser;
  92     exports javax.swing.event;
  93     exports javax.swing.filechooser;
  94     exports javax.swing.plaf;
  95     exports javax.swing.plaf.basic;
  96     exports javax.swing.plaf.metal;
  97     exports javax.swing.plaf.multi;
  98     exports javax.swing.plaf.nimbus;
  99     exports javax.swing.plaf.synth;
 100     exports javax.swing.table;
 101     exports javax.swing.text;
 102     exports javax.swing.text.html;
 103     exports javax.swing.text.html.parser;
 104     exports javax.swing.text.rtf;
 105     exports javax.swing.tree;
 106     exports javax.swing.undo;
 107 
 108     // qualified exports may be inserted at build time
 109     // see make/GensrcModuleInfo.gmk
 110     exports sun.awt to
 111         jdk.accessibility,
 112         jdk.unsupported.desktop;
 113 
 114     exports java.awt.dnd.peer to jdk.unsupported.desktop;
 115     exports sun.awt.dnd to jdk.unsupported.desktop;
 116     exports sun.swing to jdk.unsupported.desktop;
 117 
 118     opens javax.swing.plaf.basic to
 119         jdk.jconsole;
 120 
 121     uses java.awt.im.spi.InputMethodDescriptor;
 122     uses javax.accessibility.AccessibilityProvider;
 123     uses javax.imageio.spi.ImageInputStreamSpi;
 124     uses javax.imageio.spi.ImageOutputStreamSpi;
 125     uses javax.imageio.spi.ImageReaderSpi;
 126     uses javax.imageio.spi.ImageTranscoderSpi;
 127     uses javax.imageio.spi.ImageWriterSpi;
 128     uses javax.print.PrintServiceLookup;
 129     uses javax.print.StreamPrintServiceFactory;
 130     uses javax.sound.midi.spi.MidiDeviceProvider;
 131     uses javax.sound.midi.spi.MidiFileReader;
 132     uses javax.sound.midi.spi.MidiFileWriter;
 133     uses javax.sound.midi.spi.SoundbankReader;
 134     uses javax.sound.sampled.spi.AudioFileReader;
 135     uses javax.sound.sampled.spi.AudioFileWriter;
 136     uses javax.sound.sampled.spi.FormatConversionProvider;
 137     uses javax.sound.sampled.spi.MixerProvider;
 138 
 139     uses sun.swing.InteropProvider;
 140 
 141     provides sun.datatransfer.DesktopDatatransferService with
 142         sun.awt.datatransfer.DesktopDatatransferServiceImpl;
 143 
 144     provides java.net.ContentHandlerFactory with
 145         sun.awt.www.content.MultimediaContentHandlers;
 146 
 147     provides javax.print.PrintServiceLookup with
 148         sun.print.PrintServiceLookupProvider;
 149 
 150     provides javax.print.StreamPrintServiceFactory with
 151         sun.print.PSStreamPrinterFactory;
 152 
 153     provides javax.sound.midi.spi.MidiDeviceProvider with
 154         com.sun.media.sound.MidiInDeviceProvider,
 155         com.sun.media.sound.MidiOutDeviceProvider,
 156         com.sun.media.sound.RealTimeSequencerProvider,
 157         com.sun.media.sound.SoftProvider;
 158 
 159     provides javax.sound.midi.spi.MidiFileReader with
 160         com.sun.media.sound.StandardMidiFileReader;
 161 
 162     provides javax.sound.midi.spi.MidiFileWriter with
 163         com.sun.media.sound.StandardMidiFileWriter;
 164 
 165     provides javax.sound.midi.spi.SoundbankReader with
 166         com.sun.media.sound.AudioFileSoundbankReader,
 167         com.sun.media.sound.DLSSoundbankReader,
 168         com.sun.media.sound.JARSoundbankReader,
 169         com.sun.media.sound.SF2SoundbankReader;
 170 
 171     provides javax.sound.sampled.spi.AudioFileReader with
 172         com.sun.media.sound.AiffFileReader,
 173         com.sun.media.sound.AuFileReader,
 174         com.sun.media.sound.SoftMidiAudioFileReader,
 175         com.sun.media.sound.WaveFileReader,
 176         com.sun.media.sound.WaveFloatFileReader,
 177         com.sun.media.sound.WaveExtensibleFileReader;
 178 
 179     provides javax.sound.sampled.spi.AudioFileWriter with
 180         com.sun.media.sound.AiffFileWriter,
 181         com.sun.media.sound.AuFileWriter,
 182         com.sun.media.sound.WaveFileWriter,
 183         com.sun.media.sound.WaveFloatFileWriter;
 184 
 185     provides javax.sound.sampled.spi.FormatConversionProvider with
 186         com.sun.media.sound.AlawCodec,
 187         com.sun.media.sound.AudioFloatFormatConverter,
 188         com.sun.media.sound.PCMtoPCMCodec,
 189         com.sun.media.sound.UlawCodec;
 190 
 191     provides javax.sound.sampled.spi.MixerProvider with
 192         com.sun.media.sound.DirectAudioDeviceProvider,
 193         com.sun.media.sound.PortMixerProvider;
 194 }