22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.2. BESCHRIJVING VAN DE METHODOLOGIE 29<br />

body waarde vergelijken. Indien geen enkel van deze waarden aan elkaar gelijk zijn geeft deze<br />

operatie als resultaat waar terug. Voor de volgende OCL expressie hebben we<br />

source->isUnique(body)<br />

De JAVA code ziet er zo uit:<br />

Listing 11 Sjabloon voor isUnique operatie<br />

Iterator it = source.iterator();<br />

List values = new ArrayList();<br />

while(it.hasNext()){<br />

ElementType elem = (ElementType) it.next();<br />

if(values.contains(body)){<br />

return false;<br />

}<br />

values.add(body);<br />

}<br />

return true;<br />

select operatie<br />

Zowel associaties als resultaten uit operaties kunnen een collectie teruggeven. Indien men in<br />

een deelverzameling van deze collectie geïnteresseerd is kan hij de select operatie gebruiken.<br />

Met andere woorden kan men in de body van deze operatie een lijst van criteria speciceren<br />

om een selectie te maken. Bijgevolg is de body van de select operatie een booleaanse expressie.<br />

Het resultaat van deze operatie resulteert in een deelverzameling van de oorspronkelijke<br />

collectie. In deze deelverzameling zijn alleen maar elementen uit de oorspronkelijke collectie<br />

geselecteerd die aan de voorwaarden van de body voldoen.<br />

Gegeven de volgende OCL expressie, is source een collectie en body een booleaanse expressie.<br />

De corresponderende JAVA sjabloon is hieronder getoond.<br />

source->select(body)<br />

De vertaling van de select operatie naar JAVA is als volgt:<br />

Listing 12 Sjabloon voor OCL select operatie<br />

Set result = new HashSet();<br />

Iterator it = source.iterator();<br />

while(it.hasNext()){<br />

ElementType elem = (ElementType) it.next();<br />

if(elem.body){<br />

result.add(elem);<br />

}<br />

}<br />

return result;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!