.. ******************************************************************************* * MetaFactory.io R2 * Technical Documentation * * File name : Glossary.rst * Created by : Ralph Oudejans * Last update : 02-03-2021 * Updated by : Niels de Nies * * MetaFactory BV Amsterdam ******************************************************************************* .. include:: /inline-images.txt .. include:: /external-links.txt Glossary ======== .. glossary:: :sorted: Angular library A library developed by MetaFactory containing :term:`Code Instruction`\s and :term:`snippet`\s for generation of front-ends written in Angular. Attribute The definition of the property of an :term:`object`, stating its name and datatype. Attributes of :term:`object`\s are defined in :term:`model.xml`. AutoHook mode The `AutoHook mode` of the :term:`CodeComposer IntelliJ plugin` determines how the :term:`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 :term:`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 :term:`metafactory.xml`. CodeComposer A :term:`meta-programming` tool developed by MetaFactory to automate the software development process. CodeComposer IntelliJ plugin A plugin for IntelliJ to easily invoke the :term:`CodeComposer` from the IntelliJ IDE. codecomposer.xml Project configuration file that is the input for the :term:`CodeComposer`. Code Instruction An instruction for the :term:`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'. Library An library is a means by which :term:`Code instruction`\s and :term:`snippet`\s may be shared between different MetaFactory projects. It can be used, for example, to make a library with :term:`Code instruction`\s and :term:`snippet`\s for web applications. Feature (MetaFactory) A Feature (MetaFactory) is a combination of several :term:`Code Instruction`\s that together realize an application feature. Hook A hook is a project-specific :term:`Code Instruction` that overrules or extends a :term:`Code Instruction` in a generic :term:`library`. Metadata Metadata is data about data. Metadata is added to elements of the :term:`model` to control the generation proces of :term:`Code Instruction`\s. 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 :term:`codecomposer.xml` Meta-programming Meta-programming is a programming technique in which computer programs are programmed using programs that use :term:`metadata`. Model A description of an application in terms of :term:`object`\s, their :term:`attribute`\s and :term:`reference`\s to other objects, together with :term:`metadata` to be used in :term:`Code Instruction`\s. model.xml Input file for the :term:`CodeComposer` that contains the :term:`model` of an application. Object Analogous to an entity in a data model. Objects are defined in :term:`model.xml`. Pattern Obsolete: replaced by :term:`Code Instruction`. Reference A reference defines a relation between two :term:`Object`\s. 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. :term:`CodeComposer` supports the template engines Freemarker_ (recommended) and Velocity_ in snippets. Context Object During generation the :term:`CodeComposer` reads the model and places model elements in the generator's context, so :term:`Code Instruction`\s can refer and use them.