Geertjan is a DZone Zone Leader and has posted 468 posts at DZone. You can read more from them at their website. View Full User Profile

Interview: Steve Clarke from TJI Java IDE

06.14.2008
| 11794 views |
  • submit to reddit
What are the basic features?

TJI is project based. One can create a new project from customisable sets of templates for various project types. One can open multiple projects. There is automatic HTML format project documentation that includes JavaDoc comments.

TJI automatically adds required import statements if not yet existing. TJI can automatically add accessor methods when adding a field. TJI has syntax checking (optional because it can be considered distracting), code completion, word completion (already used words) and custom substitutions (such as 'sop' for 'System.out.println'). There are also shortcuts for various control statements such as 'if ( ) { } else { }' which can be invoked by a typed key or selected from a menu.

TJI provides a basic level of support for 'round trip' UML modeling (class diagram):

It also provides support for JSP and servlet programming with its in-built web server (and internal or external web browser) and JSP engine and database programming with its inbuilt DBMS and JDBC driver. The main purpose of this in-built support is to facilitate the learning of these technologies. Although the supported features are limited, useful applications can be constructed using them. One can always use TJI with an external webserver and database such as those from Apache.

TJI also provides support for JSP and servlet programming with its in-built web server (and internal or external web browser) and JSP engine. It also supports database programming with its in-built DBMS and JDBC driver. The main purpose of this in-built support is to facilitate the learning of these technologies. Although the supported features are limited, useful applications can be constructed using them. One can also use TJI with an external webserver and database such as those from Apache.

TJI offers refactoring support for base directory, package, class/interface and method. TJI also offers automatic 'tracing':

This is not the usual redirection of system output to a file; TJI shows all method entries and exits, values of fields when declared or set, and parameter values. Time spent in each method is also shown. If the program crashes, the exception details and stack trace are appended. In this way, TJI's tracing offers an alternative way of debugging. TJI allows you to halt a program that is in an infinite loop.

TJI automatically maintains a rolling 10 backups of project source files which can be viewed and restored.

How did the project come about?

TJI begain life in 1998, so it is celebrating its tenth birthday this year. TJI has been developed on and off over that period.

With Eclipse and NetBeans (derived from Sun's Forte) becoming free it seemed like the end of the line for TJI at first, but I continued to prefer it and realised that it still had its place. As IDEs generally become ever more complex, the gap between those IDEs and simply using the command line widens, creating a larger niche for TJI.

I added the 'round-trip' UML class diagram view and multi-user functionality to appeal to universities and colleges. I also added a set of Java tutorials within the program and made accompanying project source files available online.

Then I developed the 'Java Guru' API assistant module which I realised made a good spin-off product that would be useful alongside any IDE or editor. The Java Guru provides fast and flexible access to the Java API.

This featured in 'Swing Sightings' on Sun's website in 2005. Java Guru will retrieve the API documentation from online if it is not existing on the host computer. The Java Guru can also find example code use from respected online sources.

Recently, I developed the postcard designer applets at www.jungletop.com using TJI.

This spring I updated TJI for Java 1.6. The main changes concerned the compiler and syntax checker—I could now use the new javax.tools package. I decided to no longer support Java versions below 1.6 because each involved use of undocumented classes and methods in accessing the compiler and it was becoming tricky to support them all.

AttachmentSize
nss1s.png31.16 KB
nss2s.png27.76 KB
nss3s.png19.83 KB
nss4s.png158.24 KB
steve_clarke.png27.5 KB
Published at DZone with permission of its author, Geertjan Wielenga.

Comments

Steve Clarke replied on Fri, 2008/08/22 - 2:31pm

Over the last couple of months, TJI Java IDE has undergone a major revision and the new version is at our new website : http://www.tji-java-ide.com/

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.