#160 plantuml - understanding boot up

fallback image probably showing plantuml error image

edit

zoom

Diagram Information

Created by: abulka   published
Language: Java
Repository: plantuml/plantuml  github
Commit: master
Tags: featured-java

Description:

Here is an analysis of the startup of plantuml.jar beginning with Run.main()

The first thing that happens is that the command line arguments are recorded in an attribute of the Run class by calling Run.saveCommandLine(). Then those arguments are parsed and recorded by a new instance of the Option object.

Follow the red numbers to see the 'sequence' of calls in this diagram. 1, 2, 3... etc.

The Constructor of the Option class parses the command line arguments - looping through all the command line args, processing them. For example the args "-tsvg" will trigger a call to this.setFileFormatOption(). Other types of command line arguments like "-computeurl" will cause the this.computeurl = true; to be set on the options object. Clearly the Options object is a handy place to record all the options being passed in by the user!

Interestingly whilst you may notice that the fields are private, there are getter methods which are public, allowing the app to get to option information.

Whilst this is just the start of an analysis of the startup of plantuml.jar you can see how a GitUML + Literate Code Maps analysis might be usefule for onboarding a new programmer interested in contributing to the open source plantuml project hosted on GitHub. The process of building a Code Map will give a programmer understanding of any complex software behaviour, which empowers the programmer to add features and gets bugs fixed more quickly.

Modules being visualised

List of repository modules/files being visualised in the above diagram: