Platonos - Platonos Projects - The Platonos Plugin Engine

The Platonos Plugin Engine is a very powerful, yet surprisingly small and easy to develop for runtime dynamic container not unlike a J2EE container. It's purpose is to manage chunks of code, called plugins, each of which contain one or more attributes allowing it to extend existing plugins, or provide intersections called extension points where by other plugins can extend it. It does so by loading plugins dynamically at runtime, automatically resolving dependencies, connecting extensions to extension points and event listeners to events. It handles the creation of lifecycle plugin classes automatically as classes are needed either by dependent plugins, extensions or events, all at runtime without any effort by developers.

Plugins are easy to develop with only a few rules to abide by to ensure the engine can do what it is designed to do, which is manage dynamic plugins. Plugins can entail any sort of code, including an entire application wrapped in a plugin, or numerous plugins making up a much larger application but divided into many smaller more maintainable modular pieces. It is left to the developer using the engine to determine how best to develop one or more plugins.