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

Reply via email to