[nebulastudio-discuss] XML descriptions of Nebula classes to provide better wrappers and editor integration

Bruce Mitchener bruce at cubik.org
Thu May 13 09:22:35 PDT 2004


Leaf Garland wrote:
> On Thu, 13 May 2004, Bruce Mitchener wrote:
>>I'll need to consider (and likely just decide in the absence of
>>feedback) where these XML files should go within the source tree, but
>>expect to see this stuff start to land in CVS before Monday.  I may not
>>deel with begin/add/end type setters in my initial pass as I haven't any
>>great ideas yet on how to handle them.
> 
> At a guess in code/contrib/nwrapper

But they'll be useful to things other than nwrapper .. and then any 
contirbs, etc would have to place new files into nwrapper rather than 
being self-contained.

Perhaps a new directory, interfacedefs, or something:

   nebula2/code/nebula2/interfacedefs/kernel/nroot.xml
   nebula2/code/contrib/nmap/interfacedefs/nmapnode.xml

and so on?  And perhaps a better extension for hooking it up to an 
editor application one day ...

 > What else would go into CVS at this point? Where do you see the code
 > that converts xml files into editable properties going? In nwrapper?
 > Does nwrapper become something that will be needed at run time too.

That wasn't my plan.  I don't want to see nwrapper at runtime. :)

 > So NebulaStudio would say property foo = 12 and nwrapper handles the
 > actual dispatching of script cmds to do that?

I think Nebula Studio would be able to load the XML files (which would 
mean distributing them along with the org.nebuladevice.engine plugin) 
and load/parse that data to find out what methods and so on were 
involved.  From there, it could use reflection to invoke the correct 
methods.  So, if there were an editor for a property foo being used and 
the value changed, then Nebula Studio would use reflection to call the 
setFoo method on the corresponding Java object, which would do whatever 
the generated code did. (Right now, it does the script command dispatch 
to talk to the core C++ code.)

  - Bruce



More information about the nebulastudio-discuss mailing list