\documentclass[11pt,a4paper]{report} \newcommand{\meditor}{\textsf{meditor}} \newcommand{\dbullet}{ \vspace{20pt} {\huge \textbullet} \vspace{20pt} } %\usepackage{fullpage} \usepackage{fancyhdr} \pagestyle{fancy} %\input{setup} \title{Gene expression data annotation, effective storage, and enrichment through data mining.} \author{ Efstathios~Sideris } %\usepackage{tabularx} \usepackage{rotating} \usepackage{verbatim} \usepackage{setspace} \usepackage{graphicx} %\usepackage{tex/natbib} %\usepackage{showkeys} %\usepackage{longtable} %\usepackage{changebar} %\nochangebars \graphicspath{{figures/}{ch1/figures/}{ch2/figures/}{ch3/figures/}} %\bibpunct{(}{)}{;}{a}{,}{,} \begin{document} \setcounter{secnumdepth}{3} \setcounter{tocdepth}{7} \subsubsection{Object persistence} \label{sec:persistence} In order to make the persistence mechanisms of \meditor{} extensible, the necessary functionality has been concentrated in the abstracted class \texttt{MEStorageDriver} of the \texttt{org.biomap.meditor.persistence} package. This allows different possible underlying persistence mechanisms accessible through the same interface, something that during the course of development has proven useful in the testing stages, for the prototyping of persistence. More specifically, persistence was initially developed as a prototype in the \texttt{MEFileStorageDriver} subclass of \texttt{MEStorageDriver} and later the \texttt{MEDatabaseStorageDriver} class implemented full persistence. \paragraph{File-based persistence prototype} The abstraction of object persistence by the \texttt{MEStorageDriver} class proved valuable at the early stages of development, when more emphasis was put to the development of the GUI. At this stage, it was necessary to have a prototype persistence mechanism that would allow the testing of the GUI and other aspects of \meditor{}. For this purpose, the \texttt{MEFileStorageDriver} class was implemented, a subclass of \texttt{MEStorageDriver} which implemented part of the persistence mechanism by using Java serialization to files. Not all the functionality was implemented, in some cases the concrete methods of \texttt{MEFileStorageDriver} were just dummy methods that did not perform any operation. This was sufficient for testing purposes, and was replaced as soon as the grapical user interface was mature enough. \end{document}