Skip to content

Instantly share code, notes, and snippets.

@mjhanninen
Created October 4, 2020 13:03
Show Gist options
  • Save mjhanninen/48fa4c4ec3fd9e0978458cbc825556ed to your computer and use it in GitHub Desktop.
Save mjhanninen/48fa4c4ec3fd9e0978458cbc825556ed to your computer and use it in GitHub Desktop.

PlantUML example for Malli

@startuml fig-malli-order-for-burgers.svg

  hide empty members

  class "Burger" {
    :name string?
    :description string?
    :origin [:maybe "Country"]
    :price pos-int?
  }

  class "Country" {
    :name [:enum :FI :PO]
    :neighbors [:vector [:ref "Country"]]
  }

  class "Order" {
    :lines [:vector "OrderLine"]
    :delivery Order$Delivery
  }

  class "Order$Delivery" {
    :delivered boolean?
    :address Order$Delivery$Address
  }

  class "Order$Delivery$Address" {
    :street string?
    :zip int?
    :country Country
  }

  class "OrderLine" {
    :burger Burger
    :amount int?
  }

  "Burger" o-- "Country"
  "Country" o-- "Country"
  "Order" o-- "OrderLine"
  "Order" *-- "Order$Delivery"
  "Order$Delivery" *-- "Order$Delivery$Address"
  "Order$Delivery$Address" o-- "Country"
  "OrderLine" o-- "Burger"

@enduml
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment