This plugin publishes some extension points to provide more flexibility and extensibility. By providing extension points the plugin delegates pieces of logic and data to other components. A very nice effect of making components as extension points is that they are dynamic, this is. An extension can be added by anyone, and the plugin will work fine as long as the plugin contributing the extension respects the interface.
This plugin manages some components as extension points. These components are directly associated with a java interface. Writing an extension to the plugin is basically implementing an interface. Of course, the level of complexity of the implementation can vary greatly.
The plugin comes bundled with some implementations for the extension points published. They try to cover the mayority and most usual cases. Contributions are welcome.
A template source extension point is mainly a class that implements the ITemplateSource interface. This interface defines methods that feed the builder with templates that can be obtained in different manners.
The template source manages ITemplates which provide additional information about a given template.