Uploaded image for project: 'NetBeans'
  1. NetBeans
  2. NETBEANS-4222

Open up more of APIs in Node and PropertySheet

    XMLWordPrintableJSON

Details

    Description

      Currently it is hard to customize Node, Explorer and PropertySheet behavior, because there are too many private instead of protected methods, package private and final classes in the API.

      Some examples I have stumbled on include

      • private doSetNodes method in PropertySheet (no way to override the use of ProxyNodes)
      • final and package private ProxyNode class
      • package private constructor in ProxyNode
      • package private getOriginalNodes method in ProxyNode
      • package private and final ProxyProperty class in ProxyNode
      • final Sheet class and its inner class Sheet.Set
      • most private methods in Sheet and Sheet.Set should be protected instead
      • PropertySupport.Reflection class should have getters for read and write methods

      I wonder, what is the rationale for so strict and static API design? I would assume the performance gains from these limitations are meager. Opening these classes for sub-classing and modifications would result in much more flexible system with much less code duplication.

      Attachments

        Activity

          People

            jtulach Jaroslav Tulach
            markus.sunela@fluidit.fi Markus Sunela
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: