Features :: DocHelper
Uses
DocHelper has been used as a utility within Online for a number of things. DocHelper in general is useful when:- Generating specific source code documentation:
DocHelper doesn't intend to be a contender to tools like DoxyGen (We actually use it) that provide general source documentation. It can be used for specific documentation tasks. Anything that can be searched through regular expressions can be used within DocHelper. - Creating configuration files:
Maven, ant, and most build script and configuration files require accurate listing of dependencies among other elements. A quick document definition (dochelper) file can be created to generate content for these files. This is especially useful when dealing with a large number of applications. - Analyzing application source or data alone or in conjunction:
Being able to compare specifics in one or more applications, generating a quick comparison document can be quite useful when analyzing an application alone or in relation to another. In addition, DocHelper provides a processor mechanism that can help with analysis task. - In general, the creation of any content that must be gathered from existing sources and may need to be processed modified
Features
The Features of the dochelper are outlined below.-
Ease of Use
- Ant Integration - Doc helper defines an ant task. It can be used from within build scripts with ease.
- Self contained executable jar allows user to execute DocHelper as a command.
-
Flexible - (Flexible Architecture)
- Result Tree is generated after search. A number of processors may be applied to the result tree at any level of processing: Document, RecordSet, Record, Pattern. Each processor may modify or alter the result tree. I.E. Sorting, Logical Operations, etc.
- Different renderers may be applied to generate output. In fact multiple renderers may be applied to the document definition in order to render results in more than one output format at the same time. I.E. Search Source Code for specific code references and generate XML for MindMap and a PDF for a report.
- Searches may be transformed into content by encapsulation at each level of the process:
The document may be encapsulated with content as a whole.
Each Record Set may be encapsulated with content individualy
Each Record may be encapsulated with content individualy
Each pattern may be encapsulated with content individualy - Encapsulation may be defined within the configuration file or utilizing simple file templates.
- A search result may be transformed into content at two different points:
When a match is found. Within encapsulation content at each level.
-
Extensible
- Every Step and most members in the process equate to interfaces. General architecture follows the program to a contract method.
- Interface definitions for objects that require configuration extend the Configurable interface. This means that by adding a params tag any parameter may be passed to the implementing object without code modification.
-
Open Source License
- Free to use, Free to modify.
This project requires some technical understanding to use:
- Knowledge of Regular Expressions (Essential)
- Understanding of XML (For Configuration File)
To extend this project the follwoing is required:
- Knowledge of Java