enterpriseDomain/ClassMaker

Extensibility

Closed this issue · 2 comments

Currently the creation of Generator, Exporter and Installer ("Loader" not even refactored) objects are hard-coded in StateImpl.make() method. Available implementations must be configured somehow.
Perhaps, in extension point, or in OSGi service, or, maybe, in configuration XML.
The choice of implementation may vary between State instances (should be specific to State instance), but could have been configured also on Revision, Contribution and Workspace levels. The default implementation should be set.

d53a41b is somehow betters the situation. "Loader" is now refactored to ModelLoader. There is a plan to enable customizing choice of Generator, Exporter, Installer, ModelLoader classes in Customizer.

13c0f4e adds extension points for Stages and Customizers. Also, makes Generator, Exporter, Installer and ModelLoader a Workers. b56a75e removes former.