Java Source Code Browser

The Java Source Code Browser reads a designated set of Java source files and produces a JavaDoc equivalent extended with fully browsable source code containing hyperlinked cross-references within and across that set of files. Every identifier in the source code (public or local) acts as a link to its corresponding source definition, all uses of that identifier anywhere in the source files, and the corresponding JavaDoc information. This provides a convenient method for programmers to view the entire source of large application systems; this can help cut down the 50% of the time that programmers typically spend just looking at source code. It is also ideal for on line reference and code reviews.

Java Browser Features

  • JavaDoc tag compatible
  • Java 1.4 to Java 8
  • Produces JavaDoc equivalent web pages
  • Extracts full cross-reference and type information from both source and class files
    • JavaDoc page for each identifier links to actual source code and all uses according to language rules.
    • Source files are prettyprinted with clickable identifier links to definition source and corresponding JavaDoc page.
  • Can handle extremely large systems of source code
  • Optional specification of files via graphical project file chooser

Sun's JavaDoc has a -linksource option that provides a much weaker cross reference. Unlike the Source Browser, it only provides links from JavaDoc pages to source text, but no source-to-documentation links, and no full-cross reference of definitions and uses.

You can see a sample of the Browser results applied to the popular JUnit program. To get a full value from this sample, in the Packages window, click on any Junit package, click on any class and then browse its source, clicking on identifiers: Browsable JUnit Sources.

Generating a set of pages like this nightly and placing it on your intranet would make current sources easily available to developers and support engineers. You can also download a ZIP file (500Kb) containing the HTML pages for this example to try out this idea.

Download an evaluation copy

The Source Code Browser is a derivative of SD's family of Source Code Formatters. Autoextraction of JavaDoc-like tags can also be implemented (e.g., automatically generate function signature and parameter tags if not already present). Similar browsers can be constructed for other languages. Inquire for custom features.

For more information:    Follow us at Twitter: @SemanticDesigns

Java Source
Code Browser