Logo
version 03.10.54

Contents

  • 1. Background
    • 1.1. Why MetaFactory?
      • 1.1.1. What do Developers need?
      • 1.1.2. The conventional way of development
    • 1.2. Automating the software production
      • 1.2.1. Automation, in which case?
    • 1.3. MetaFactory Code Composer, what is it?
      • 1.3.1. Developing with the Composer
      • 1.3.2. The Real Power
      • 1.3.3. The Big Benefit
      • 1.3.4. And what’s in it for you, as a developer?
    • 1.4. Patterns
    • 1.5. The MetaFactory Platform
      • 1.5.1. Trend
      • 1.5.2. Proposition MetaFactory
    • 1.6. MetaFactory process overview
      • 1.6.1. Conventional development process
      • 1.6.2. Development with MetaFactory
      • 1.6.3. Diversify
      • 1.6.4. Reuse
      • 1.6.5. Building a Code Instruction
      • 1.6.6. Metadata - Interaction between MetaModel and Code Instruction
    • 1.7. MetaFactory Project Structure
      • 1.7.1. Project configuration
      • 1.7.2. MetaModel
      • 1.7.3. Code instructions
      • 1.7.4. Properties (optional)
      • 1.7.5. Naming
  • 2. Tutorials
    • 2.1. T00 Setup Project
      • 2.1.1. Get the Metafactory environment up and running
      • 2.1.2. Get started
    • 2.2. T01 Hello World
    • 2.3. T02 Create a Class
    • 2.4. T03 Create a Constructor
    • 2.5. T04 Create a Snippet
    • 2.6. T05 Foreach Object
  • 3. How-To Guides
    • 3.1. Get and install MetaFactory environment
      • 3.1.1. MetaFactory on Windows
      • 3.1.2. MetaFactory on OSX/MacOS
    • 3.2. Configuring your IDE
      • 3.2.1. Configuring Eclipse
        • 3.2.1.1. Plugins
        • 3.2.1.2. XML Catalog
        • 3.2.1.3. Code fragments for Freemarker
      • 3.2.2. Configuring IntelliJ IDEA
        • 3.2.2.1. Installing and configuring IntelliJ IDEA plugin
        • 3.2.2.2. Resolving XML errors
        • 3.2.2.3. Live Templates
        • 3.2.2.4. Implicit objects in Freemarker or Velocity templates
    • 3.3. QuickStart
      • 3.3.1. Create your first example
      • 3.3.2. Evaluation
    • 3.4. Building a Code Instruction
    • 3.5. How to use snippets
    • 3.6. SDA example using snippets
      • 3.6.1. Code Instruction
      • 3.6.2. Model
      • 3.6.3. Project
      • 3.6.4. Phone class created
      • 3.6.5. Freemarker snippet
      • 3.6.6. Evaluation
    • 3.7. Features and how to use them
      • 3.7.1. Implementation of a Feature - General
      • 3.7.2. Drag & Drop
      • 3.7.3. User Preferences
        • 3.7.3.1. Files
        • 3.7.3.2. Developer notes
    • 3.8. How to preserve manual changes in generated code
  • 4. Blogs
    • 4.1. Pojo Classes
      • 4.1.1. Data model
      • 4.1.2. Code instruction
      • 4.1.3. Functions
      • 4.1.4. Methods
    • 4.2. Equals and hashCode
      • 4.2.1. Freemarker snippets
      • 4.2.2. Control over the generation process
      • 4.2.3. CodeComposer and metadata
      • 4.2.4. Alternative equals and hashCode implementations
    • 4.3. Repository
      • 4.3.1. Enrich a POJO with JPA
      • 4.3.2. Repository implementation
      • 4.3.3. Variables
    • 4.4. Organizing code instructions
      • 4.4.1. Multiple code instructions creating one Java class
      • 4.4.2. Features
      • 4.4.3. toString
  • 5. Reference
    • 5.1. Project Reference
      • 5.1.1. Structure of the project file
        • 5.1.1.1. Model
        • 5.1.1.2. Pattern
        • 5.1.1.3. Snippets Folder
        • 5.1.1.4. Output
        • 5.1.1.5. BuildSets
        • 5.1.1.6. Maps
        • 5.1.1.7. Property Files
        • 5.1.1.8. Configuration
        • 5.1.1.9. BusinessStyle
    • 5.2. Model Reference
      • 5.2.1. Model structure
      • 5.2.2. Child elements
        • 5.2.2.1. Package
        • 5.2.2.2. Object
        • 5.2.2.3. Attribute
        • 5.2.2.4. Reference
        • 5.2.2.5. Metadata
    • 5.3. Model API Reference
      • 5.3.1. Available context objects
        • 5.3.1.1. Model API Model Root
        • 5.3.1.2. Model API Model Package
        • 5.3.1.3. Model API Model Object
        • 5.3.1.4. Model API Model Attribute
        • 5.3.1.5. Model API Model Reference
      • 5.3.2. Model hierarchy
    • 5.4. Code Instructions in XML
      • 5.4.1. Introduction
        • 5.4.1.1. Namespaces
        • 5.4.1.2. The root element
        • 5.4.1.3. Child elements
        • 5.4.1.4. Complement XML patterns with snippets
        • 5.4.1.5. Code instruction base
      • 5.4.2. Java Code Instruction Elements
        • 5.4.2.1. Java package
        • 5.4.2.2. Interface
        • 5.4.2.3. Class
        • 5.4.2.4. Field
        • 5.4.2.5. Method
        • 5.4.2.6. Import
        • 5.4.2.7. External libraries
        • 5.4.2.8. External Java package
      • 5.4.3. TypeScript Instruction Elements
      • 5.4.4. XML files
      • 5.4.5. Text files (plain files)
    • 5.5. Code Instructions with snippets
      • 5.5.1. Lots of added flexibility
      • 5.5.2. How to use it
    • 5.6. Code instructions
      • 5.6.1. foreach=”attribute.all”
      • 5.6.2. foreach=”reference”
      • 5.6.3. foreach=”reference1”
      • 5.6.4. foreach=”referenceN”
      • 5.6.5. foreach=”reference.all”
    • 5.7. Expression Language
      • 5.7.1. Functions
        • 5.7.1.1. Built-in Functions
        • 5.7.1.2. Custom Functions
      • 5.7.2. Variables
      • 5.7.3. Data type mappings
    • 5.8. CodeComposer Directives
      • 5.8.1. CodeComposer:preserve:file
      • 5.8.2. CodeComposer:preserve:field
      • 5.8.3. CodeComposer:preserve:method
      • 5.8.4. CodeComposer:autopreserved:field
      • 5.8.5. CodeComposer:autopreserved:method
    • 5.9. Template engines
      • 5.9.1. Freemarker and Velocity Context Variables
      • 5.9.2. Freemarker settings
      • 5.9.3. Freemarker context object: metafactory
      • 5.9.4. Freemarker context object: context
      • 5.9.5. Freemarker context object: comparatorFactory
      • 5.9.6. Velocity settings
      • 5.9.7. Velocity Functions
        • 5.9.7.1. Call by using the $metafactory context variable
        • 5.9.7.2. Call by using the $context context variable
        • 5.9.7.3. Call by using the $sxmiFactory context variable
        • 5.9.7.4. Best practices and lines you often need
    • 5.10. Technology stack
      • 5.10.1. Liquibase
        • 5.10.1.1. Purpose
        • 5.10.1.2. Website
        • 5.10.1.3. Buildsets involved
        • 5.10.1.4. Usage
    • 5.11. Code
      • 5.11.1. codecomposer-reference-input
        • 5.11.1.1. src
        • 5.11.1.2. codecomposer-reference-input.iml
        • 5.11.1.3. local.properties
        • 5.11.1.4. metafactory.xml
        • 5.11.1.5. template.properties
      • 5.11.2. codecomposer-reference-output
        • 5.11.2.1. src
        • 5.11.2.2. codecomposer-reference-output.iml
  • 6. Downloads and links
  • 7. Glossary
MetaFactory Technical Documentation
  • Search


© Copyright 2021, MetaFactory B.V..

Built with Sphinx using a theme provided by Read the Docs.