Plugin
From travelingsales
recommend reading
Before reading about plugins, you should read about the simple configuration-system provided. It is linked closely with the plugin-system. You may also want to read the Overview of how the different types of plugins work together.
How plugins work
A Plugin is a class with a no-argument-constructor that implements the IPlugin -interface and a second interface called the business-interface. Class-Names can be registered with the Settings-class to provide a given business-interface. They are then available in the SettingsDialog to be used for the business-interface-specific purpose.
(incomplete) List of Plugin-Interfaces and plugins (view all plugin-interfaces)
- IRouter to calculate a route from A to B
- TurnRestrictedMultiTargetDijkstraRouter (the new default-router)
- MultiTargetDijkstraRouter (the old default.-router until version 0.9.8)
- Dijkstra
- DirectedDepthFirstRouter (A*)
- Depth-First-Search (for demo-purposes only)
- IRoutingMetric to calculate metrics to optimizing routes for
- ShortestRouteMetric
- StaticFastestRouteMetric (fastest route using estimated travel-times)
- FeedbackFastestRouteMetric (fastest route using collected real-world travel-times)
- IVehicle select what map-elements are considered roads
- IRouteDescriber to give driving-instructions to the user.
- IVoiceSynth to speak driving-instructions.
- IGpsProvider to give a current location of the user
- IPlaceFinder to find a place given a name or address
- IPaintVisitor for rendering the map into an image Painting the map
- IDataSet storing and fetching the map
- OsmBinDataSet (implementation of the OSMBin file-format)
- DownloadingDataSet (download map-data from OpenStreetMap)
- DBDataSet (uses a Mysql or HSQLDB database)
- FileTileDataSet (uses one OSM-XML-file for each tile)
- MemoryDataSet (in-memory database, used by others for caching)
- CachingDataSet (use MemoryDataSets as a cache to another DataSet)
- LODDataSet (use 3 FileTileDataSets storing different levels of detail)
- LoadingDataSet (loads data from the OSM-Server)
- H2DataSet (uses the H2-database)
- User-Interface-Additions
- is progress...
