AWT Accessibility API nested classes rely on default constructors

XMLWordPrintable

    • Type: CSR
    • Resolution: Approved
    • Priority: P4
    • 16
    • Component/s: client-libs
    • None
    • source, binary
    • minimal
    • These should all be the same as the default constructors
    • Java API
    • SE

      Summary

      Address reliance on default constructors for nested accessibility classes of AWT components.

      Problem

      The nested accessibility related classes of AWT components rely on the use of implicit Default Constructors. This is unsuitable as certain access modifiers are required for some constructors and API descriptions but are not included with the use of implicit Default Constructors. The use of explicitly defined no-arg constructors is required.

      Solution

      Add explicit no-args constructors to all these classes.

      Specification

      src/java.desktop/share/classes/java/applet/Applet.java

      <pre> protected class AccessibleApplet : + /** + * Constructs an {@code AccessibleApplet} + */ + protected AccessibleApplet() {} </pre>

      src/java.desktop/share/classes/java/awt/Button.java

      <pre> protected class AccessibleButton : + /** + * Constructs an {@code AccessibleAWTButton} + */ + protected AccessibleAWTButton() {} </pre>

      src/java.desktop/share/classes/java/awt/Canvas.java

      <pre> protected class AccessibleCanvas : + /** + * Constructs an {@code AccessibleAWTCanvas} + */ + protected AccessibleAWTCanvas() {} </pre>

      src/java.desktop/share/classes/java/awt/CheckboxMenuItem.java

      <pre> protected class AccessibleCheckboxMenuItem : + /** + * Constructs an {@code AccessibleAWTCheckboxMenuItem} + */ + protected AccessibleAWTCheckboxMenuItem() {} </pre>

      src/java.desktop/share/classes/java/awt/Component.java

      <pre> protected class AccessibleAWTComponent.AccessibleAWTComponentHandler : + /** + * Constructs an {@code AccessibleAWTComponentHandler} + */ + protected AccessibleAWTComponentHandler() {} + /** + * Constructs an {@code AccessibleAWTFocusHandler} + */ + protected AccessibleAWTFocusHandler() {} </pre>

      src/java.desktop/share/classes/java/awt/Container.java

      <pre> protected class AccessibleAWTContainer : + /** + * Constructs an {@code AccessibleAWTContainer} + */ + protected AccessibleAWTContainer() {} protected class AccessibleAWTContainer.AccessibleContainerHandler : + /** + * Constructs an {@code AccessibleContainerHandler} + */ + protected AccessibleContainerHandler() {} </pre>

      src/java.desktop/share/classes/java/awt/Dialog.java

      <pre> protected class AccessibleAWTDialog : + /** + * Constructs an {@code AccessibleAWTDialog} + */ + protected AccessibleAWTDialog() {} </pre>

      src/java.desktop/share/classes/java/awt/Frame.java

      <pre> protected class AccessibleAWTFrame : + /** + * Constructs an {@code AccessibleAWTFrame} + */ + protected AccessibleAWTFrame() {} </pre>

      src/java.desktop/share/classes/java/awt/Menu.java

      <pre> protected class AccessibleAWTMenu : + /** + * Constructs an {@code AccessibleAWTMenu} + */ + protected AccessibleAWTMenu() {} </pre>

      src/java.desktop/share/classes/java/awt/MenuBar.java

      <pre> protected class AccessibleAWTMenuBar : + /** + * Constructs an {@code AccessibleAWTMenuBar} + */ + protected AccessibleAWTMenuBar() {} </pre>

      src/java.desktop/share/classes/java/awt/MenuItem.java

      <pre> protected class AccessibleAWTMenuItem : + /** + * Constructs an {@code AccessibleAWTMenuItem} + */ + protected AccessibleAWTMenuItem() {} </pre>

      src/java.desktop/share/classes/java/awt/Panel.java

      <pre> protected class AccessibleAWTPanel : + /** + * Constructs an {@code AccessibleAWTPanel} + */ + protected AccessibleAWTPanel() {} </pre>

      src/java.desktop/share/classes/java/awt/PopupMenu.java

      <pre> protected class AccessibleAWTPanel : + /** + * Constructs an {@code AccessibleAWTPopupMenu} + */ + protected AccessibleAWTPopupMenu() {} </pre>

      src/java.desktop/share/classes/java/awt/ScrollPane.java

      <pre> protected class AccessibleAWTScrollPane : + /** + * Constructs an {@code AccessibleAWTScrollPane} + */ + protected AccessibleAWTScrollPane() {} </pre>

      src/java.desktop/share/classes/java/awt/Scrollbar.java

      <pre> protected class AccessibleAWTScrollBar : + /** + * Constructs an {@code AccessibleAWTScrollBar} + */ + protected AccessibleAWTScrollBar() {} </pre>

      src/java.desktop/share/classes/java/awt/TextArea.java

      <pre> protected class AccessibleAWTTextArea : + /** + * Constructs an {@code AccessibleAWTTextArea} + */ + protected AccessibleAWTTextArea() {} </pre>

      src/java.desktop/share/classes/java/awt/TextField.java

      <pre> protected class AccessibleAWTTextField : + /** + * Constructs an {@code AccessibleAWTTextField} + */ + protected AccessibleAWTTextField() {} </pre>

      src/java.desktop/share/classes/java/awt/Window.java

      <pre> protected class AccessibleAWTWindow : + /** + * Constructs an {@code AccessibleAWTWindow} + */ + protected AccessibleAWTWindow() {} </pre>

            Assignee:
            Philip Race
            Reporter:
            Joe Darcy
            Sergey Bylokhov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: