I want to write a script that will generate a graph of interfaces, abstract classes and implementation classes.
As far as producing the graph, my intention is to use GraphViz to produce the output, and I'd like to be able to make a directed graph with different node colors for interfaces, abstract classes and implementation classes. Once I am able to scan all the java files, making the graph shouldn't be hard.
In order to accomplish this though, I need to write a bunch of piped grep commands, awk, sed, etc. My question is, is there a utility I can use to scan all java files and give me an output of:
You absolutely do not want to use Bash for this. Java has a specific - and complex - syntax, which will be a nightmare to parse with regular expressions. You should instead look into tools that parse Java's Abstract Syntax Tree, or even just look for existing Java source visualizers - there are a number of them.