Skip to content
Alexander Heusel edited this page Mar 26, 2023 · 1 revision

The Visual Modelling Framework

The visual modelling framework or VMF, for short is a lightweight modeling framework and code generator. VMF uses a data model of an application or a library expressed as annotated Java interfaces to generate powerful implementations. These implementations include all the inevitable but boring boilerplate code required to provide a modern and stable API. The generated model implementation features:

  • property getters and setters
  • property default values
  • object ownership /containment
  • builder API
  • equals() and hashCode()
  • deep and shallow cloning
  • change notification
  • undo/redo
  • object graph traversal API via iterators and streams
  • immutable types and read-only wrappers
  • delegation
  • annotations
  • reflection
  • ...

It is designed to work with the newest versions of Java as soon as they are released. It works well with Java 11-19. In addition there is excellent Gradle support via a dedicated plugin.

Example Data Model

Clone this wiki locally