JQuranTree API Documentation

JQuranTree is a set of Java APIs for accessing and analyzing the Holy Quran, in its authentic Arabic form.


org.jqurantree.analysis Contains the AnalysisTable class, which is used to tabulate, sort and group results.
org.jqurantree.arabic Models ArabicText as a sequence of characters with diacritics, with an internal ByteFormat used to represent character data.
org.jqurantree.arabic.encoding Contains interfaces and supporting base classes for Arabic encoders and decoders.
org.jqurantree.arabic.encoding.buckwalter Contains the BuckwalterEncoder and BuckwalterDecoder classes, which implement Buckwalter transliteration.
org.jqurantree.arabic.encoding.simple Contains the SimpleEncoder class which implements simple encoding.
org.jqurantree.arabic.encoding.unicode Contains the UnicodeEncoder and UnicodeDecoder classes for translating ArabicText to and from Unicode.
org.jqurantree.core.collections Support package which provides generic iterators for enumerating over immutable collections.
org.jqurantree.core.error Contains the JQuranTreeException class and a list of Errors.
org.jqurantree.core.io Supporting package which provides classes for I/O file access.
org.jqurantree.core.resource Supporting package for accessing embedded JAR resources.
org.jqurantree.orthography Contains an orthography object model of the Holy Quran, with orthographic elements represented by the classes Document, Chapter, Verse and Token.
org.jqurantree.search Search API package, providing classes for searching the Holy Quran.
org.jqurantree.tanzil Provides classes for reading the Unicode XML source of the orthography model, the Tanzil project's Uthmani distribution.


JQuranTree is a set of Java APIs for accessing and analyzing the Holy Quran, in its authentic Arabic form. The Java library is released as an open source project, in order to encourage computational analysis of the Quran. We invite others to contribute to this project, with the long term aim of providing a publicly available set of computational tools for linguistic analysis of the Quran in Arabic. JQuranTree is organized into three parts: The Quranic text itself, a set of access APIs, and a set of analysis APIs. The distinction between accessing and analyzing the Quran is that access is concerned with representing the Arabic text (e.g. chapters, verses, letters and diacritics), whereas the analysis API is built on top of this.

The Uthmani distribution of the Tanzil project is used (http://tanzil.info) and is left unmodified. This is an accurate representation of the Madina Mushaf and is stored as a Unicode XML document.

Copyright© Kais Dukes, 2009. All Rights Reserved.