The skeletal implementation pattern is a software design pattern consisting of defining an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis. Java 8 enhanced interfaces alleviate these problems by allowing interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need only examine the interface itself. Both of these benefits improve software modularity.
This prototype refactoring plug-in for Eclipse represents ongoing work in developing an automated refactoring tool that would assist developers in taking advantage of the enhanced interface feature for their legacy Java software.
Categories: IDE, Programming Languages, Tools
Tags: java, java 8, refactoring, default methods, interfaces
Additional Details
Eclipse Versions: Photon (4.8), Oxygen (4.7), Neon (4.6), Mars (4.5), 2018-09 (4.9), 2018-12 (4.10), 2019-03 (4.11), 2019-06 (4.12), 2019-09 (4.13), 2019-12 (4.14), 2020-03 (4.15), 2020-06 (4.16), 2020-09 (4.17), 2020-12 (4.18), 2021-03 (4.19)
Platform Support: Windows, Mac, Linux/GTK
Organization Name: Hunter College, City University of New York
Development Status: Beta
Date Created: Saturday, November 4, 2017 - 09:45
License: EPL
Date Updated: Friday, January 15, 2021 - 10:11
Submitted by: Raffi Khatchadourian
Date | Ranking | Installs | Clickthroughs |
---|---|---|---|
December 2023 | 0/0 | 0 | 0 |
November 2023 | 0/0 | 0 | 7 |
October 2023 | 607/673 | 2 | 6 |
September 2023 | 0/0 | 0 | 5 |
August 2023 | 607/673 | 2 | 5 |
July 2023 | 0/0 | 0 | 2 |
June 2023 | 632/669 | 1 | 6 |
May 2023 | 618/671 | 2 | 9 |
April 2023 | 650/667 | 1 | 7 |
March 2023 | 642/686 | 2 | 7 |
February 2023 | 640/667 | 1 | 16 |
January 2023 | 625/675 | 2 | 15 |