Graph-RAT Programming Environment |
||
OverviewDocumentation0.4.3 Javadoc0.5.1 Javadoc0.4.3 GUI use0.5 GUI useCommand Line Use0.4.3 Embedded Use0.5 Embedded UseDeveloping Graph-RATModule ListingRoadmap |
Developing New Algorithms in 0.4.3An algorithm must implement the Algorithm interface. The init() method should populate the input and output metadata components, using the Properties object supplied to pass in the parameters values. Parameters, their descriptions, and their default values should be listed in the Javadoc of the init() method. After creation, the algorithm's name should be added to the list of known algorithms in AlgorithmFactory singleton. Likewise, the algorithm description should be added to the appropriate category return method in AlgorithmFactory. Developing New Graph, Link or Actor Classes in 0.4.3The class should implement the appropriate interface, and then the algorithm should be added to the create() method of the appropriate factory. Developing a new parser in 0.4.3If the parser is not a SAX parser, it should implement the Parser interface and be added to the ParserFactory singleton. If the parser is a SAX parser, it should subclass the AbstractHandler class and the name should be added to the parser class, creating an XML parser instance, then call the HandlerFactory to create the SAX parser. The HandlerFactory should have a reference to the Parser added as well. Development of new components in 0.5Each new class must have a set of static initialization code, common to all components, inserted into the class. As long as this code is present, all configuration involving factory registering is automatically performed, whether or not the class is loaded dynamically or statically. Likewise, all modifications to integrate the new component into the GUI are conducted automatically, provided the metadata fields (required by the interfaces) are filled in with meaningful information. Dynamic Linking in 0.5Provided dynamic linking is enabled, 0.5 automatically reads the /lib directory of the GRAPHRAT environment variable for classes to dynamically add at startup. Likewise, the /jar has the contents of its jar files automatically loaded at startup. In the GUI, reloading is a GUI command that can be manually activated, however it can occur at any time via embedded, as it is a method call on the DynamicLoader singleton. |