You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Ernie Rael <er...@raelity.com> on 2023/02/13 05:26:18 UTC

Extract Interface...

I'm starting to work with some unfamiliar code. For example I've got

    class DerivedTableModel extends AbstractTableModel
    class DerivedJTable extends JTable

I want a list of all methods in DerivedTableModel that are not in 
AbstractTableModel. I tried "Refactor > ExtractInterface" but the list 
includes all methods defined in DerivedTableModel and if you click the 
"check all action" at the bottom it gets all methods; not what I'm 
looking for.

One thought is to have "exclude" option checkboxes

    Implemented Interface methods
    Extended Class methods
    Unknown Methods

To get the current default none of these checked, so all methods are 
included. One think I'm looking for, I'd check both interface/class 
options, so only methods that do not override something is in the list 
of methods to chose from.

My task is to provide a plug in compatible alternate implementation. 
Knowing what needs to be implmented, and isn't part of 
AbtractTableModel, is a place to start. It could be argued that such an 
interface should have been made when DerivedTableModel was first built.

Another list, with "Unknown Methods" checked, is also useful to look at 
especially when it comes to considering how super class/interface are 
tweaked.

Any convenient way to get these? I haven't done a deep dive into how 
useful these would actually be. I'd consider adding the "exclude" 
checkboxes if it seems useful and someone is willing to answer questions 
about "Extract Interface" and review PR. I don't think I've ever looked 
at any refactor code; might be a steep curve; but since it's filters on 
an existing list, might not be too bad.

-ernie