Úvodná stránka
Teória
Softvér
[ PDF ]
   

Implementácia rozhraní a abstraktných tried

Implementácia maiolum.nxdb

Uvedený návrh je dostatočne flexibilný na to, aby bolo možné získavať biblické fragmenty z rôznych zdrojov rôznymi spôsobmi. Teraz popíšeme jeden z možných spôsobov implementácie abstraktných tried a rozhraní -- spôsob, pri ktorom sa biblické fragmenty získavajú z natívnej XML databázy.

Dátový zdroj

Implementácia dátového zdroja maiolum.nxdb.ExistDataSource

V prípade tejto implementácie sa využíva natívna XML databáza eXist, v ktorej sú uložené biblické texty vo formáte XML. Dátový zdroj sa dopytuje XML databázy pomocou XQuery na XML dokumenty v nej uložené. Vrátené XML dáta použije pri vytváraní inštancií biblických fragmentov (implementácia maiolum.plainxml.PXBibleFragment)

Biblické fragmenty a moduly

Implementácia biblických fragmentov a modulov

Identifikátory fragmentov a poradie

Na určovanie usporiadania fragmentov sa využíva špeciálna trieda FIDResolver. Pri ukladaní XML dokumentu do databázy eXist sa vytvorí zvláštny index, v ktorom je uložené poradie identifikátorov v danom dokumente. FIDResolver potom poskytuje na základe tohto indexu metódy na získanie predchodcu, či nasledovníka daného biblického fragmentu. V prípade získavania rodiča daného fragmentu tento index nie je potrebný -- keďže identifikátor rodiča možno ľahko získať zo samotného identifikátora fragmentu.

by Róbert Novotný