
com.github.ferstl.depgraph.dependency.DotGraphStyleConfigurer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of depgraph-maven-plugin Show documentation
Show all versions of depgraph-maven-plugin Show documentation
This Maven plugin generates dependency graphs on single modules or in an aggregated form
on multi-module projects. The graphs are represented by .dot files. In case that Graphviz
is installed on the machine where this plugin is run, the .dot file can be directly converted
into all supported image files.
package com.github.ferstl.depgraph.dependency;
import com.github.ferstl.depgraph.dependency.style.StyleConfiguration;
import com.github.ferstl.depgraph.graph.GraphBuilder;
import com.github.ferstl.depgraph.graph.dot.DotGraphFormatter;
public class DotGraphStyleConfigurer implements GraphStyleConfigurer {
private final StyleConfiguration styleConfiguration;
private boolean showGroupId;
private boolean showArtifactId;
private boolean showVersionsOnNodes;
private boolean showVersionOnEdges;
public DotGraphStyleConfigurer(StyleConfiguration styleConfiguration) {
this.styleConfiguration = styleConfiguration;
}
@Override
public GraphStyleConfigurer showGroupIds(boolean showGroupId) {
this.showGroupId = showGroupId;
return this;
}
@Override
public GraphStyleConfigurer showArtifactIds(boolean showArtifactId) {
this.showArtifactId = showArtifactId;
return this;
}
@Override
public GraphStyleConfigurer showVersionsOnNodes(boolean showVersionsOnNodes) {
this.showVersionsOnNodes = showVersionsOnNodes;
return this;
}
@Override
public GraphStyleConfigurer showVersionsOnEdges(boolean showVersionOnEdges) {
this.showVersionOnEdges = showVersionOnEdges;
return this;
}
@Override
public GraphBuilder configure(GraphBuilder graphBuilder) {
DotDependencyNodeNameRenderer nodeNameRenderer = new DotDependencyNodeNameRenderer(this.showGroupId, this.showArtifactId, this.showVersionsOnNodes, this.styleConfiguration);
DotDependencyEdgeRenderer edgeRenderer = new DotDependencyEdgeRenderer(this.showVersionOnEdges, this.styleConfiguration);
return graphBuilder
.graphFormatter(new DotGraphFormatter(this.styleConfiguration.graphAttributes(), this.styleConfiguration.defaultNodeAttributes(), this.styleConfiguration.defaultEdgeAttributes()))
.useNodeNameRenderer(nodeNameRenderer)
.useEdgeRenderer(edgeRenderer);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy