jacson logo courtesy from Doris & Frank.
Jacson How it works? > Software used
2005-10-04 00:11:20 0.90

Software used

Necessary

Well of course it is a Java project. But beside an arbitrary JDK 1.2 or later (JDK 1.1 probably works when you have the plugin Collection Classes) following things are (more or less) necessary for Jacson:

Apache Ant
Is used as the prefered build tool for Jacson. On the other hand Jacson itself also integrates into Ant jobs in two distinct fashions.
Jakarta ORO
This does all the regular Expression stuff in Jacson. I know there are regular expressions in JDK1.4, but ORO is available for nearly all JDKs.
Trove
These high performance, low memory collection classes are used to allow Jacson Accounting of different data on huge amounts of input data.

Helpful or special features

This software can be added to enhance Jacson but isn't very essential.

Saxon
Is used as my favourite XSLT engine, the one built in in JDK1.4 works also, but is slow and memory consuming. Saxon 6.5.x is definately necessary to build this documentation.
Piccolo
As a tiny and fast XML parser. The one in JDK1.4 is slower and takes more memory and I do not need things like Schema Validation. You need a JAXP XML parser with a JDK prior to JDK1.4.
JavaMail1.3
Is needed in conjunction with the MailSource.
dot
A great graph layout programm which uses a easy (non XML) input grammar und supports many out formats. It generates this nice diagramm.
FOP xsl:fo
If available, Apache FOP will be used to postprocess the output of XSLTReport to PDF.
Batik SVG
If available, FOP will be used to postprocess the output of XSLTReport to SVG via Apache Batik.
All these techologies are optional in some sense: XSLT is builtin in JDK1.4 and if you don't use XSLTReport you don't need it anyway. An SAXParser is builtin in JDK1.4 and there are various available (most should autoplug into Jacson). Trove is only required for the Accounting-Classes, but this really relies on it. Jakarta-ORO is used, as soon as you use any of the RegExp-Filters or -Evaluator. Ant is the prefered (but not the only), way to build Jacson.

Nice to have

These things are used for some automated quality assurance (Quite a few, actually I tried get me feet wet on these tools):

JUnit
Is used to create test cases for Jacson.
JDepend
Looks for the ratio of abstractness and concreteness in your code and has a strange notion of "good".
JCSC
A code quality checking system.
PMD
A code quality checking system.
JMetra
A system to collect simple code metrics over the time.
Google API
The classes to access the Google Search Webservice, you need a Google license key and you are limited to a certain number of searches a day.
JJacket
JJacket is meant to be a shell for working in a Javaish commandline environment. Shows much potential, but still has some long way to go. Jacson allready nicely fits in JJacket 0.0.3.
HSQLDB
The HSQLDB engine is used as database for the samples of SQLSource

Note: When you download a jacson-release-???.zip, that includes only necessary jar files to run basic Jacson functionality, not to rebuild it: Ant and Fop is missing to save some bandwidth. Also the QA stuff is not included.

Sourceforge Logo