Summary
Add "forRemoval = true" argument to the deprecation annotations in each of the Applet API classes. to the subclasses in java.beans.Beans (BeansAppletContext and BeansAppletStub) that use them, and to the instance of the method Beans.instantiate() that takes a java.beans.AppletInitializer argument.
Problem
As part of JDK-8149502, Applet APIs were deprecated in JDK9 with "forRemoval = false" (default). We now plan to remove them in a future release, so have filed JEP JDK-8256145 to first deprecate them for removal.
Solution
Change @Deprecated(since="9") to @Deprecated(since="9", forRemoval=true) in the annotations of the following classes:
- java.applet.AppletStub
- java.applet.Applet
- java.applet.AudioClip
- java.applet.AppletContext
- javax.swing.JApplet
- java.beans.AppletInitializer
Public fields, sub-classes, and methods in the following classes which reference the above classes will have their deprecation annotation modified to include "forRemoval".
- java.beans.Beans
- javax.swing.RepaintManager
- java.naming.Context
Specification
The existing annotation covering the entire class, '@Deprecated(since = "9")', will be changed '@Deprecated(since="9", forRemoval=true)' in the following classes:
- java.applet.AppletStub
- java.applet.Applet
- java.applet.AudioClip
- java.applet.AppletContext
- javax.swing.JApplet
- java.beans.AppletInitializer
In the java.beans.Beans class, the method
public static Object instantiate(ClassLoader cls, String beanName, BeanContext beanContext, AppletInitializer initializer)
will have it's existing deprecation annotation changed to include "forRemoval=true".
In the java.beans.Beans class, the two sub-classes
class BeansAppletContext implements AppletContext
class BeansAppletStub implements AppletStub
will have their existing deprecation annotation changed to include "forRemoval=true".
In the javax.swing.RepaintManager class, the method
public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
will have it's existing deprecation annotation changed to include "forRemoval=true".
In the javax.naming.Context interface, the field APPLET
String APPLET = "java.naming.applet";
will have it's existing deprecation annotation changed to include "forRemoval=true".
Modify the javadoc comment for the java.applet package:
The APIs in this package are all deprecated without replacement.
to say:
This package has been deprecated and may be removed in a future version of the Java Platform. There is no replacement. All of the classes and interfaces in this package have been terminally deprecated.
Users are advised to migrate their applications to other technologies.
- csr of
-
JDK-8189198 Add "forRemoval = true" to Applet API deprecations
- Resolved