\subsubsection{Luokka CompositeId}
\label{metaOnCid}
\texttt{CompositeId} on \texttt{Id}-rajapinnan toteuttava luokka ja perii sen metodit ja kentät. Se koostuu kahdesta tai useammasta \texttt{Id}-tyyppisestä oliosta ja sitä käytetään \texttt{OntologyResource} olion tunnuksena silloin kun ontologiaresurssin oma URI ei ole yksikäsitteinen järjestelmässä. 

Esimerkki: Erityyppisillä ontologiaresursseilla voi olla samanniminen ominaisuus. Tällöin ominaisuudesta ja sen omistajasta muodostuu yksikäsitteinen tunniste ominaisuudelle.

\subsection*{Kentät}

\subsubsection*{protected Collection ids}
Muuttuja johon on tallennettu kaikki tämän tunnusyhdisteen osatunnuksia vastaavat \texttt{Id}-tyyppiset oliot.

\subsubsection*{public final String ID\_SEPARATOR = ";"}
Vakio johon on tallennettu tämän tunnusyhdisteen merkkijonoesityksessä käytettävää osatunnusten erotinmerkkiä.

\subsection*{Konstruktorit}

\subsubsection*{public CompositeId(Collection ids)}
Konstruktori joka luo uuden \texttt{CompositeId}-olion ja asettaa sen tunnukseksi parametrissa annetun osatunnuskokoelman.

\subsubsection*{public CompositeId(Id id1, Id id2)}
Konstruktori joka luo uuden \texttt{CompositeId}-olion ja asettaa sen tunnukseksi parametrissa annettujen tunnusten yhdisteen. Käytännössä se siis lisää annetut tunnukset ids-kentän kokoelmaan.

\subsection*{Metodit}

\subsubsection*{public String getId()}
Palauttaa merkkijonoesityksen tästä tunnuksesta. Metodi jakaa rekursiivisesti ids-kokoelmassa olevat tunnukset kunnes ne ovat yksinkertaisempia \texttt{SimpleId} ja katenoi tämän jälkeen näitten getId()-metodilla palauttaman merkkijonot erotettuina ID\_SEPARATOR-vakiolla.

\subsubsection*{public String getString()}
Palauttaa merkkijonoesityksen tästä tunnuksesta. Katso getId()-metodi.

\subsubsection*{public boolean equals(Object anotherId)}
Palauttaa toden arvon jos annettu olio on CompositeId-olio jonka getId()-metodin palauttama merkkijono on sama kuin tämän olion id-kenttä.

\subsubsection*{public int compareTo(Object anotherId) throws ClassCastException}
Toteuttaa javan \texttt{Comparable}-rajapinnan vertailemalla tunnuksien getId()-metodien palauttamia merkkijonotunnuksia.

\subsubsection*{public String toString()}
Palauttaa merkkijonoesityksen tästä tunnuksesta. Katso getId()-metodi.
