This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
I would like to kindly ask for architecture review of Refactoring module. Answers to the architecture questions can be found at refactoring/arch, zip file with API javadocs can be found in module's files area.
Some comments off the top of my head - feel free to ignore if I am missing the point of something... The design pattern of EncapsulateFields seems a little weird - it looks like an event listener (start, stop and step taking event arguments), but it also appears to fire the same type of event it's being passed. I guess what's making me focus on this class is how different its API is from the other refactorings - probably because encapsulating fields is a multi step operation - it looks sort of like one class doing the job of two - but I may just not understand what you're trying to do here. In general, an overview page and a pass through all the public methods to make sure there's at least some description would be helpful, and some kind of overview describing expected usage patterns would be welcome. Mostly it's unclear from the Javadoc what you're supposed to do with an AbstractRefactoring class once you've created it - or what is supposed to be in the various Collection arguments.
I have cleaned the API a little bit. You are right that there were a lot of methods/classes that should not be there. It is because it is still under development and we did not take time yet to clean it. That's one of the reasons why we do not want to make it stable. I have also added the javadoc for org.netbeans.api.refactoring.ui package, which (as I lately realized) was missing from the original RefactoringAPIs.zip. We can discuss further changes to the APIs at the Refactoring DevRev meeting. The new zip can be downloaded from the files area of refactoring module. Tim and Yarda, thanks for your comments.
Draft of the opinion provided at http://openide.netbeans.org/tutorial/reviews/opinions_41519.html
After agreement with DevRev team, the refactoring module will not provide an API for promoD (the proposed API was repackaged).