I remembered someone (I think Jon Aquino) mentioning that an object called a Registry could be used to access data throughout OpenJUMP. I was skimming the Javadoc for the Registry class and I think I can use it to allow plug-ins to contribute unit systems.
In this scenario the unit system contribution would work something like this: [1] The plug-in programmer would implement an extension of the standard plug-in interface built specifically to contribute unit systems. [2] In the plug-in's initialize() method the programmer would create and store an object containing some basic information about the unit system his plug-in would contribute. This would include a user friendly name for the unit system, the type of unit system, and the fully qualified name of the class that implements the UnitSystem interface. This object would be added to the registry using the classification, or key, "Unit Systems Information". (Each implementation of the UnitSystem interface would require a no-argument constructor.) [3] Other OpenJUMP plug-in programmers could ask the registry for all unit system information objects. These could be used to build a list of unit systems available to the user. When a unit system was needed, a instance could be created using the fully qualified class name in the unit system information object and the classForName method. (Thus the requirement for a no argument constructor.) Any thoughts on this approach? Its not the most elegant, but I think it will work within the constraints of our existing plug-in system without requiring any modifications to the core. The Sunburned Surveyor ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel