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.

28 HOOFDSTUK 3. METHODOLOGIE<br />

source->exists(body)<br />

dan is de corresponderende JAVA code in Listing 9 te zien. Hier source is een collectie en<br />

daarvoor gebruiken we de JAVA interface Iterator om over deze collectie te kunnen itereren.<br />

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

Listing 9 Sjabloon voor OCL exists operatie<br />

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

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

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

if(elem.body){<br />

return true;<br />

}<br />

}<br />

return false;<br />

forAll operatie<br />

Soms wil men dat er een beperking voor alle elementen uit een collectie geldt. In dat geval kan<br />

hij de forall operatie gebruiken. Indien de OCL expressie in de body van de operatie voor<br />

een of meer elementen uit de collectie faalt geeft de forall operatie niet waar als resultaat<br />

terug. Gegeven de volgende OCL expressie<br />

source->forall(body)<br />

De vertaling van de OCL expressie naar JAVA die de forall operatie bevat is te zien in de<br />

volgende sjabloon:<br />

Listing 10 Sjabloon voor OCL forAll operatie<br />

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

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

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

if(! elem.body){<br />

return false;<br />

}<br />

}<br />

return true;<br />

isUnique operatie<br />

Indien men in een collectie van elementen een unieke waarde voor ieder element in deze<br />

collectie wenst moet hij de isUnique operatie gebruiken. De body van deze operatie is meestal<br />

een expressie over een bepaalde eigenschap van het type van de betrokkene elementen in de<br />

collectie. Het resultaat van deze operatie geeft een booleaanse waarde terug. Deze operatie zal<br />

over alle elementen itereren en zal voor elk element de gevraagd waarde met de meegegeven

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

Saved successfully!

Ooh no, something went wrong!