During some of my recent programming work on BizzJUMP I ran across some interesting things about the JUMP/OpenJUMP source code that I wanted to make note of. Perhaps some other programmers and followers of my blog will be interested in these things also.
- JUMP has an IconLoader class. I wonder what how it loads and provides icons? Do any of its methods throw I/O exceptions? I want to take a closer look at this class and find out.
- JUMP has a FeatureInstaller class that can be used to install plug-ins. I want to take a closer look at this class so I can see how it works.
- As far as I can tell there is no way for a plug-in to control the location of its menu item in the pop-up menu of the layer list. I wonder what I would have to change to make this control possible. Right now, if you want a plug-in to control the location of its menu item in the pop-up menu for the layer list, its got to be part of the core.
- The LayerNamePanel (the class behind the layer list) is actually an interface. The default implementation of this interface is the AttributeTab class. Don't ask me where they got that name.
- The JUMPConfiguration class controls the loading of plug-ins built into the core. It must be activated during the launch of the program. I want to document this launch process and describe the role of the JUMPConfiguration class in starting the program.
The Sunburned Surveyor