Last updated : 01/10/2002; 18:20:48

Joe's Jelly

Joe Walnes rambling on and on about Software Development, Java and Extreme Programming.

NAVIGATION >>

/WIKI /WEBLOG /THOUGHTWORKS /OPENSYMPHONY /EMAIL

:: ELSEWHERE
xp developer wiki
c2 xp wiki
the server side
javaworld
sd magazine
jakarta

:: BLOGS
Mike Cannon-Brookes
Graham Glass
Paul Hammant
Elliotte Rusty Harold
Darren Hobbs
Patrick Lightbody
Charles Miller
Brett Morgan
Rickard Öberg
Mike Roberts
Sam Ruby
Joel Spolsky
James Strachan
Clemens Vasters

:: INVOLVEMENTS
SiteMesh
QDox
MockDoclet
OSCore
OSUser
PropertySet
RichTags
Marathon
SiteMesh C++
Alt-RMI
Jelly MockTags
more...
:: BACKLOGS
September 2002
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Aug   Oct



Click here to visit the Radio UserLand website.

:. 26 September 2002

  6:09:04 PM  

A long time ago, in XDoclet land.... Brett wondered if Joe should tell the XDoclet project about his new QDox JavaDoc replacement. And the answer is: no, because XDoclet already has a completely rewritten JavaDoc engine, which has been around for some time now, and also kicks booty (which one kicks the most booty I don't know though). The current XDoclet code is pretty fast. [Random thoughts]

QDox History

The truth is that QDox was started way before I knew about XJavaDoc (the JavaDoc parser used by XDoclet) - when I found out, I stopped working on it. A few months later QDox was revived as I was looking for a project to use in a Test Driven Development coding excercise. It turned out that we ended up with some pretty lean and zippy code as a result of the excercise which we're now using on some internal projects. So we went ahead and released it.

QDox vs XJavaDoc

QDox is a complementary project to XDoclet but a competing product to XJavaDoc. There's never any harm in a bit of friendly competition - it keeps us all on our toes :).

QDox has a slightly different focus to XJavaDoc. XJavaDoc offers a means to manipulate the parsed object model and write the results back out to the file. QDox, on the other hand, is designed to be smaller, simpler and focusses on speed (it has a much more optimized parser) - but it cannot modify the source file. Which one you use should depend on your requirements - they both rock.

QDox Nicities

Speed speed speed.

QDox can be used in an object model approach (similar to DOM) for ease of use, or an event driven approach (similar to SAX) for raw performance. You could, for example, create a custom builder to spit out XML directly from source code rather than building an intermediate AST.

QDox Next Steps

The next goal of QDox is to offer hooks for incremental live code-generation where it can run as an IDE plugin and automatically fire events to regenerate code incrementally as individual files are changed, making continuous integration more continuous than having to run a build step.

Pre-indexing and querying of large source trees is also a high priority. For example, find me all classes with @blah in - and their subclasses.


Web-design by John Doe from open source web design.