[RSS]

LevelsOfCompliance

Converting any application to be fit for a framework like NetBeans can be done on various levels. The integration can be shallow and use just a few integration points, or it can be more deep and tightly follow the paradigms of the NetBeans framework.

Level 0 - Launchable

  • Enhance your manifest - with NetBeans tags so your JAR is recognized as NetBeans Module
  • Use dependencies between modules - instance of plain Class-Path you can now how dependencies between modules
  • Register a menu item - just register a menu item in layer file of your module which will invoke your original application

Level 1 - Integrated

  • Integrate Visually - to get the benefits of NetBeans Window System aka docking framework
  • Use NetBeans Visual APIs - the first ones are TopComponent and DialogDisplayer
  • Change initialization code of your application - use ModuleInstall or declarative registrations through layer of META-INF/services
  • this is usually a pretty minimal change, about 1%

Level 2 - Use Case Support

  • Bind your application to other Modules - inspect the already existing functionality and try to use it
  • Simplify Work Flow - to fit into the NetBeans framework paradigms
  • Listen to Global Selection - listen what other modules do and update your state according to that
  • this is a modest effort integration, however it pays off by reusing already existing functionality of NetBeans

Level 3 - Aligned

  • Become good citizen - by exposing your own state to other modules (so they know what you are doing)
  • Eliminate Duplicated Functionality - reuse navigator window, task list, progress API, etc. instead of having your own
  • cooperate with other modules
  • Adapt your application to NetBeans
  • this kind of integration brings full benefits of the NetBeans Platform, however it also requires a greater effort to be reached

Read more from the platform presentation...