Is GraphViz required or used if embedding plantuml into java application?

0 votes
asked Feb 3, 2016 in To be sorted by davidmichaelkarr (120 points)
One thing that I find confusing is figuring out exactly what purpose GraphViz fulfills.  If I'm embedding plantuml into a java application and just generating png images on the fly to view in a window (or save to disk), does GraphViz even come into the picture (I didn't even plan that pun)?

1 Answer

0 votes
answered Feb 3, 2016 by plantuml (279,680 points)
selected Feb 3, 2016 by davidmichaelkarr
 
Best answer
If you are using Sequence Diagram or Activity Diagram beta, GraphViz is not used at all : the implementation is 100% Java.

For other diagrams (class, component, usecase, legacy activity, state, deployment), GraphViz is used.
Even in your example (embedded PlantUML into a Java application), if you generate a PNG image, GraphViz is launch behind the scene to
compute the position of elements and edges (Java allows to launch native processes - this is completely transparent).

We understand that for a 100% Java application, this dependency to a native process is a real drawback.
Graphviz is doing a great job, and we did not find any equivalent in Java and Open Source.

However, we are working to translate GraphViz to Java (see http://plantuml.com/smetana01.html ) to remove this
dependency on GraphViz and to have a 100% PlantUML implementation.

Very recently, we had some first success on this side (we will publish a news about this).
But a lot of works remain to be done, so do not expect any change on the short term.

Hope that it more clear for you.
...