\subsubsection{Luokka OntologyClass}
\label{metaOnCla}
\texttt{OntologyClass} on \texttt{OntologyElement}-luokan alaluokka ja perii sen sek� \texttt{OntologyResource}-luokan metodit ja kent�t. T�m�n luokan ilmentym� kuvaa yht� ontologian solmua. Esimerkiksi Juhlasali on er�s k�ytt�m�mme Promootio-ontologian \texttt{OntologyClass} eli ontologiasolmu.

\subsection*{Kent�t}

\subsubsection*{public static final int ALL}
Vakio jota k�ytet��n syvyysarvona kutsuttaessa niit� metodeja jotka sen tarvitsevat. ALLin arvo on -1, ja vastaa aina loppumatonta syvyytt�.
\subsubsection*{public static final int DIRECT}
Vakio jota k�ytet��n syvyysarvona kutsuttaessa niit� metodeja jotka sen tarvitsevat. DIRECTin arvo on 0.
\subsubsection*{private static Hashtable imageCountHash}
Hajautustaulukko-luokkamuuttuja, jota k�ytet��n kuvien m��rien muistamiseen. Taulukolla tehostetaan m��r�arvojen toistuvaa hakemista.

\subsection*{Konstruktorit}
\subsubsection*{Luokkakonstruktori static}
Luo \texttt{Hashtable}-olion imageCountHash-hajautustaulukolle.

\subsubsection*{public OntologyClass(OntologyClass another)}
Konstruktori, joka kutsuu \texttt{OntologyResourcen} vastaavaa konstruktoria ja asettaa erikseen luokan label-kent�n.

\subsubsection*{public OntologyResource(MuseumModel model, Id id)}
Konstruktori, joka kutsuu \texttt{OntologyResourcen} vastaavaa konstruktoria ja asettaa erikseen luokan label-kent�n.

\subsection*{Metodit}

\subsubsection*{public ResourceCollection getChildren(int depth)}
Palauttaa t�m�n ontologialuokan depth-syvyisen alipuun lapset. Mik�li syvydeksi annetaan ALL, palautetaan koko alipuun lapset. Mik�li syvyydeksi annetaan DIRECT, palautetaan vain suorat lapset. Lapsien haku on toteutettu \texttt{ResourceProvider}- ja \texttt{StatementResourceCollection}-luokilla.

\subsubsection*{public ResourceCollection getParents(int depth)}
Palauttaa t�m�n ontologialuokan enint��n et�isyydell� depth olevat esi-is�t. Mik�li syvydeksi annetaan ALL, palautetaan kaikki esi-is�t. Mik�li syvyydeksi annetaan DIRECT, palautetaan vain suorat vanhemmat. Esi-isien haku on toteutettu \texttt{ResourceProvider}- ja \texttt{StatementResourceCollection}-luokilla.

\subsubsection*{public ResourceCollection getInstances(int depth)}
Palauttaa kaikki t�m�n ontologialuokan suorien instanssien sek� getChildren-metodin depth-parametrilla palauttamien \texttt{OntologyClass}-olioiden suorien instanssien leikkauksen. Leikkaukseen k�ytet��n \texttt{OntologyResource}-luokan intersect-metodia. Instanssien haku on toteutettu \texttt{ResourceProvider}- ja \texttt{StatementResourceCollection}-luokilla.

\subsubsection*{public ResourceCollection getImages(int depth)}
Palauttaa kaikki t�m�n luokan getInstances-metodin depth-parametrill� palauttamien \texttt{Instance}-olioiden getImages-metodien \texttt{Image}-luokkien leikkauksen. Leikkaukseen k�ytet��n \texttt{OntologyResource}-luokan intersect-metodia.

\subsubsection*{public ResourceCollection getIntersectImages (Hashtable intersectImages, int depth)}
Palauttaa t�m�n luokan getImages-metodin depth-parametrill� palauttamien \texttt{Image}-olioiden ja annetun hajautustaulukon sis�lt�mien \texttt{Image}-olioiden leikkauksen. Leikkaukseen k�ytet��n \texttt{OntologyResource}-luokan intersect-metodia.

\subsubsection*{public long getImageCount()}
Palauttaa t�h�n ontologialuokkaan liittyvien kuvien m��r�n. M��r�n hakeminen tehostetaan tallentamalla jo haetut arvot imageCountHash-hajautustaulukkoon, joka on luokkamuuttuja t�ss� luokassa. Uudelleen haettaessa ne l�ydet��n nopeasti ilman ontologiaan kohdistuvia hakuja.
