7. Glossary

Hammer M This glossary is still under construction

Angular library

A library developed by MetaFactory containing code instructions (patterns) and snippets for generation of front-ends written in Angular.

Attribute

The definition of the property of an object, stating its name and datatype.

Buildset

The definition of a collection of files that will be generated when the buildset is run.

Code Instruction

Formerly known as ‘Pattern’. A set of instructions for the generation process.

A Code Instruction is an abstract version of your application code, using an xml element structure to define java classes, methods, class/object fields and so on. The abstract code is converted to real source code during the generation process.

DTO

Data Transfer Object

External library

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

Feature

Functionality that is realized by a combination of several Code Instructions.

Frame Component

Hammer S

Hook

A hook is a snippet that is project dependent. When a hook is called by (a snippet in) a Code Instruction and the hook exists in the directory for project-dependent snippets, it is executed.

In general a hook is used to modify the final output of the pattern by adding or replacing some statements.

Map

A collection of properties (key-value combinations).

Metadata

Metadata are switches or data that control the generation proces of Patterns. Technically speaking, Metadata are properties (key-value combinations) and are implemented as ‘metadata’ in the Model. They can have any name or data-type.

Loupe S MetaModel - Code Instruction interaction

Metafactory.xml

File name. Often used for the project configuration file.

MetaModel

General name for the ‘Enriched Data Model’. There is always one MetaModel file in a project called metamodel.xml

Loupe S MetaModel in the MetaFactory Project Structure.

Metaprogramming

Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running.

Glasses S https://en.wikipedia.org/wiki/Metaprogramming

MetaFactory uses this term as a synonym for Building a Code Instruction.

Object

Analogous to an entity in a data model.

Package

Hammer S

Pattern

Refers to a recurring piece of program code that can be considered to be generic.

In former times at MetaFactory used for what we now call a Code Instruction.

Property

A key-value combination.

Properties can be defined at every level in a Model (as Metadata) and in Code Instructions. There are functions available to search for properties and read their values. This offers an enormous flexibility.

The drawback is that because there are many ways to use these properties, things can become quite complicated. So using properties asks for discipline and adherence to ‘Best Practices’.

Property File

Hammer S

Snippet

A snippet is a piece of code that enriches XML with real programming features. Besides the usual stuff like variables, conditions, loops, et cetera, there is an huge library of functions available for snippets.

MetaFactory supports Freemarker (recommended) and Velocity.

The “Metafactory” context object

Hammer S

Tool

Hammer S

YAML

YAML (a recursive acronym for “YAML Ain’t Markup Language”) is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted.