Chris Seguin developed this software during 1999-2002, under his leadership it reached version 2.6.40. Since them Mike Atkinson has taken over.
The software is free, and was provided "as is". (If you use it and find any bugs, then don't report them to us, add them to the JRefactory bug list on SourceForge. The backlog of bugs is gradually being worked on, but don't expect a fix the same day. Similarly, request for enhancements should be made to the Feature Requests tracker.
JEdit is supported
for pretty printing.
Like many of the tools supported JEdit is written in Java
and is open source, unlike them JEdit is an editor first and
an IDE second.
Look for a plugin named "JavaStyle". The refactoring is provided in a
dockable window plugins->JavaStyle->JRefactory, it also does
Cut&Paste detection, Coding Standards checking, Bug Finding and has
an AST viewer. All the tools are not fully integrated yet, but even so
they do work well together.
NetBeans is viaing for the most popular IDE right now. Support for the pretty printer and the extract method refactoring are present in this release! Thanks to Jason Yip of Thoughtworks!
The Elixir IDE is written in Java, and distributed in a jar file. A number of the tools described below are Elixir Plugins. Chis Seguin created plugins for the pretty printer, microsoft's visual source safe, and Java 1.2 printing.
JBuilder uses a lot of memory but has a lot of features. The low end version is free, but if you are doing server side development, you really need the Professional or Enterprise versions. JRefactory and the pretty printer fully integrate with this tool. From release 2.6.12 JRefactory can be used from popup menus in the structure pane.
For JDeveloper version 2.6.38 JRefactory supports pretty printing inside JDeveloper. Simple refactorings like extract method might be supplied soon.
For Visual Cafe JRefactory supports pretty printing and extracting methods for Visual Cafe.
Here is a list of tools that I've developed:
Pretty Printer/Beautifier is a tool that allows you to clean up the indenting and formatting of your java source code.
This tool has a powerful feature of being able to insert the appropriate javadoc comments so that the javadoc program does not generate error messages for missing fields. To simplify writing javadoc comments, some methods have javadoc comments automatically generated based on the name of the method.
JRefactory is a tool that allows you to perform the following refactorings:
It updates the java source files as appropriate.
This tool comes as a command line option with GUI or without, and as a plugin for the JEdit (still under development), JBuilder, NetBeans, and Elixir IDEs.
For JBuilder and Elixir you can
switch from the UML diagram to the source code.
Printing provides the ability to print UML diagrams and print text files. Printing includes line numbering and may include syntax highlighting.
Elixir Extensions provides the ability to check in/check out files from Microsoft's Visual Source Safe from inside Elixir.
Line Number Tool
a command line program to
format a number of java source code files and generate an output file
with line numbers. It can also combine a number of files together,
and keep the numbering scheme between files. I've found this useful
for code reviews.
BugFinding
uses the findbugs tool to find many common sources of bugs in code.
UML
Diagrams
come as part of the Refactoring support, they can be resized are useful
for nativating round lots of code.
Cut
& Paste detection looks for similar sections of source
code throughout a set of files.
AST Viewer
shows the result of the Java parser as an Abstract Syntax Tree. XPath
queries may be performed on the tree.
Metrics
gathers metrics about your java source code.
Stub Generator creates a file that allows the refactory tool to display Java 1.2 library classes (or other applications where you have access to the source code, but you don't intend to change the source code). This facility is used for the refactoring tool to show classes from 3rd party vendors in the refactoring GUI.
Development Utilities are various development utilities that I use to create builds of these tools.