- Purpose
- Point where the different languages register that they know how to do code generation and common functions for all languages.
- Located
org.argouml.language Layer: <<Layer>> View and Control subsystems
- Facade class
All source language code generators must implement the org.argouml.uml.generator.CodeGenerator interface.
Usage of the API
At initialization time, each language registers themselves using org.argouml.uml.generator.GeneratorManager.
Used sybsystems
All modules must implement the org.argouml.moduleloader.ModuleInterface interface.
Design of the subsystem
The code to generate various languages that is supplied with ArgoUML is found in sub-packages of org.argouml.language. For all languages, these classes will come from independent projects and be packaged separately even though they share this package name space.
Warning
- NOTE: There is a potential conflict here if two separate language implementations use this name space in an uncoordinated fashion (e.g. two Ruby implementations using org.argouml.language.ruby).