There are three primary parts of a Builder:
- the BDEF,
- the Builder Class
- the Coordinator Class. (The last one is optional.)
The BDEF and the Builder Class are important when a Model is being Generated. The BDEF and the Coordinator Class are important when the Model is being edited.
The BDEF is an XML file that defines a Builder. (BDEF is short for Builder DEFinition.) It contains references to the Builder Class and the Coordinator Class, plus it contains the definitions of all the BuilderInputs. When the Generation system wants to invoke a Builder, it will look in the BDEF to find the Builder Class, create an instance of that class, and call it, passing in the BuilderInputs.