7. Glossary

Angular library

A library developed by MetaFactory containing Code Instructions and snippets for generation of front-ends written in Angular.

Attribute

The definition of the property of an object, stating its name and datatype. Attributes of objects are defined in model.xml.

AutoHook mode

The AutoHook mode of the CodeComposer IntelliJ plugin determines how the CodeComposer will preserve manually adapted code in generated files. There are 3 modes: Enabled, Disabled, Existing Only. By default the AutoHook mode is set to Enabled. The other modes should only be used by experienced MetaFactory developers.

Buildset

The definition of a collection of files that will be generated by CodeComposer when the buildset is run. Buildsets help the developer in generating only the files defined in the buildset, speeding up the development process. Buildsets can be defined in metafactory.xml.

Code Instruction

An instruction for the CodeComposer to automate the software development process.

A Code Instruction is an blueprint of your desired application code, using an XML element structure to define for instance Java classes, methods, fields and so on. The blueprint is converted to real source code during the generation process.

Formerly known as ‘Pattern’.

CodeComposer

A meta-programming tool developed by MetaFactory to automate the software development process.

CodeComposer IntelliJ plugin

A plugin for IntelliJ to easily invoke the CodeComposer from the IntelliJ IDE.

codecomposer.xml

Project configuration file that is the input for the CodeComposer.

Context Object

During generation the CodeComposer reads the model and places model elements in the generator’s context, so Code Instructions can refer and use them.

Feature (MetaFactory)

A Feature (MetaFactory) is a combination of several Code Instructions that together realize an application feature.

Hook

A hook is a project-specific Code Instruction that overrules or extends a Code Instruction in a generic library.

Library

An library is a means by which Code instructions and snippets may be shared between different MetaFactory projects. It can be used, for example, to make a library with Code instructions and snippets for web applications.

Meta-programming

Meta-programming is a programming technique in which computer programs are programmed using programs that use metadata.

Metadata

Metadata is data about data. Metadata is added to elements of the model to control the generation proces of Code Instructions. Metadata are properties (key-value combinations) where the developer is free to choose any key-value combination that might be needed.

metafactory.xml

Obsolete: replaced by codecomposer.xml

Model

A description of an application in terms of objects, their attributes and references to other objects, together with metadata to be used in Code Instructions.

model.xml

Input file for the CodeComposer that contains the model of an application.

Object

Analogous to an entity in a data model. Objects are defined in model.xml.

Pattern

Obsolete: replaced by Code Instruction.

Reference

A reference defines a relation between two Objects. A reference has a name, a type and a multiplicity.

Snippet

A snippet is a script that produces a fragment of source code. Besides variables, conditions, loops, etcetera, there is an huge library of functions available for snippets.

CodeComposer supports the template engines Freemarker (recommended) and Velocity in snippets.