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
5.
Reference
5.4.
Code Instructions in XML
View page source
Previous
Next
5.4.
Code Instructions in XML
Content
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)