Geertjan's Blog

  • January 3, 2008

WebFrameworkSupport API Changes

Geertjan Wielenga
Product Manager
The WebFrameWorkSupport API class has changed in the 6.0 release. The biggest enhancement is that the API was changed to the status of "public, under development". Before, it was a "friend" API, even though many (including myself) were treating it as a stable API. Making it a public API shows NetBeans's commitment to maintaining this API in the future in a compatible way.

The other enhancements were related to or caused by the changed status:

  • WebFrameworkProvider.getConfigurationPanel() and FrameworkConfigurationPanel were deprecated and replaced with WebModuleExtender. The main reason for this change was the unclear lifecycle of FrameworkConfigurationPanel. Imagine calling WebFrameworkProvider.getConfigurationPanel() twice: what should the method return on the second call? The panel returned by the first call? A new panel? The WebModuleExtender solves this problem.

  • WebFrameworkProvider.extend() was deprecated and replaced with WebModuleExtender.extend(). Again, the reason was the unclear lifecycle.

  • The API is not linked to the wizard API anymore (FrameworkConfigurationPanel used to extend WizardDescriptor.Panel). This fixes a design flaw in the API which made it hard to extend a web module from the project customizer, where there is no wizard available.

  • ExtenderController was introduced to allow a framework implementor to set error messages for the configuration UI.

I want to make use of the changed API soon and, when I do, I will report here on my findings. To see these changes in action already, should you need to do so, see the Struts and JSF framework support classes in the NetBeans sources, which have been upgraded. However, in order to avoid losing history, they weren't renamed. So, even though the Struts class should be called StrutsWebModuleExtender, it is still called StrutsConfigurationPanel.

Of course, the first and best place to read about NetBeans APIs is the related Javadoc:


Thanks to NetBeans engineer Andei Badea for providing all this information.

Update: Go here to see an implementation of the new 6.0 version of this API, as outlined above.

Join the discussion

Comments ( 2 )
  • Jocke Thursday, January 3, 2008

    Thanks! for this info. Well I am working on a framework support for Stripes. I have solved the problem that i wrote in my priviest post. As always problems have much easier solutions then first looked upon. One of the problems was this "StrutsWebModuleExtender, it is still called StrutsConfigurationPanel.". This made it hard to find a god example on how to implement a proper solution. Anyway your PDF file on the subject is a great help, and i keep you posted.


  • mridu paban Monday, April 7, 2008

    is javaphone in use?i want to develop a video conference s/w

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.