ifdef::env-github[:toc: macro] ifndef::env-site[:toc: preamble] ifndef::imagesdir[:imagesdir: images] :icons: font :source-highlighter: coderay :source-language: asciidoc
image:https://img.shields.io/badge/PRs-welcome-brightgreen.svg["Make a pull request", link="http://makeapullrequest.com"] image:https://img.shields.io/github/license/spotify/dockerfile-maven.svg[License] image:https://maven-badges.herokuapp.com/maven-central/ch.ifocusit/plantuml-builder/badge.svg?style=flat["Maven Central", link="https://maven-badges.herokuapp.com/maven-central/ch.ifocusit/plantuml-builder"]
= Plantuml builder
A tools to generate plantuml diagram from java sources.
This tool is an important part of the https://github.com/jboz/living-documentation[Living Documentation tool].
Using a builder pattern, the class ClassDiagramBuilder
give you many way to construct and customize the diagram.
== Class diagram example
Will generate this :
@startuml
interface Vehicule
class Car {
brand : String
model : String
driver : Driver
price : Price
wheels : Collection
class Driver {
name : String
cars : List
class Price { amount : BigDecimal devise : Devise }
class Wheel
enum Devise { CHF EUR USD }
Vehicule <|-- Car Car "" <-> Driver : driver Car --> Price : price Car --> "" Wheel : wheels Price --> Devise : devise
And if you render an image from this previous text file you will get :
image::class-diagram.png[Asciidoctor Diagram classes diagram]
=== For more uses cases and more options see https://github.com/jboz/plantuml-builder/blob/master/src/test/java/ch/ifocusit/plantuml/classdiagram/ClassDiagramBuilderTest.java[**ClassDiagramBuilderTest] or https://github.com/jboz/plantuml-builder/blob/master/src/test/java/ch/ifocusit/plantuml/PlantUmlBuilderTest.java[PlantUmlBuilderTest**] classes