%%%%%%%%%%%%%%%%%%%%%%%%%%%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{The PERR Class Architecture}
\label{err:errlvl}
%
The following UML figures visualize the architecture of the
class in the PERR package.\\
For a specification of parameters and return value see the interface description in
section \ref{err:cerr} and \ref{err:ierr-gui} on pages \pageref{err:cerr} and 
\pageref{err:ierr-gui} respectively.\\
Only user relevant data is put into this diagrams.
\underline{ERRLVL} is one of the following
\begin{verbatim}
    CERR.INFO
    CERR.WARNING
    CERR.ERROR
    CERR.SEVERE
    CERR.HAZARD
\end{verbatim}

\underline{OUTMODE} is one of the following:
\begin{verbatim}
    CERR.TERM
    CERR.GUI
\end{verbatim}
Internally the errorlist is saved as a CNVList with entries:\\
name(int) :: description\\
Where name consists or group + "error" + number.
The value is the errorlevel.
The description consists of the info where the error did occur + errorinfo.
%
%\vspace*{0.5cm}
\begin{center}
\begin{tabular}{|rl|}
\hline
\multicolumn{2}{|c|}{\bfseries CERR}\\
\hline
int 	& 	TERM \\
int 	&	GUI \\
int		&	INFO \\
int		&	WARNING \\
int		&	ERROR \\
int		&	SEVERE \\
int		&	HAZARD \\
\hline
		&	CERR() \\
		&	CERR( IERR\_gui) \\
void	&	registergui( IERR\_gui) \\
boolean	&	setoutmode( \underline{OUTMODE}) \\
int		&	getoutmode() \\
int		&	getwatchlevel() \\
int		&	setwatchlevel( \underline{ERRLVL}) \\
void	&	info( String, String) \\
void	&	warning( String, String) \\
void	&	error( String, String, String) \\
void	&	severe( String, String, String) \\
void	&	hazard( String, String, String) \\
void	&	specialerror( String, \underline{ERRLVL}, String, String) \\
void	&	print() \\
void	&	printcnv() \\
boolean	&	saveXML( CNVList) \\
boolean	&	saveXML( String) \\
boolean	&	loadXML( CNVList) \\
boolean	&	loadXML( String) \\
void	&	purge() \\
\hline
\end{tabular}
\vspace*{1cm}
\end{center}


\begin{center}
\begin{tabular}{|rl|}
\hline
\multicolumn{2}{|c|}{\bfseries IERR\_gui}\\
\hline
		&	\\
\hline
void	&	displayError( String) \\
void	&	beep() \\
\hline
\end{tabular}
\vspace*{1cm}
\end{center}


