Skip to content

Make public classes not intended for extension final #5827

Description

@mpkorstanje

As seen in #938, #5708, #5765, ect we have some classes that are not intended for extension. Effective Java 2nd edition recommends making theses class final (or replacing all public constructors).

While not technically a breaking change, the class wasn't design for extension and shouldn't be used that way, we can defer this until the next major version.

Deliverables

  • Enable the DesignForExtension rule in check-style.
  • Make every class not intended for extension final.
  • Update/remove the extension is strongly discouraged wording from the documentation.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions