22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2. BESCHRIJVING VAN DE METHODOLOGIE 23<br />

3.2.2.3 String type<br />

Voor de vertaling van operaties over strings kan een groot deel van de java.lang.String API<br />

opnieuw gebruikt worden. De operatie size() moet naar de methode length() in JAVA<br />

vertaald worden. Indien we de gelijkheid van twee strings willen nagaan kunnen we in JAVA<br />

gebruik maken van de equals() methode. Dit is samengevat in tabel 3.3.<br />

Operaties Notaties Java vertaling Resultaat<br />

concatenation str.concat(str) str.concat(str) String<br />

size str.size() str.length() Integer<br />

to lower case str.toLower() str.toLowerCase() String<br />

to upper case str.toUpper() str.toUpperCase() String<br />

substring str.substring(int,int) str.substring(int,int) String<br />

equals str1 = str2 str1.equals(str2) Boolean<br />

not equals str1 str2 ! str1.equals(str2) Boolean<br />

Tabel 3.3: Standaardoperaties voor String type<br />

3.2.3 Vertaling van OCL collectieoperaties<br />

Voor we aan de vertaling van collectieoperaties beginnen moeten we eerst iets over OCL collectietypes<br />

zeggen. Deze OCL collectietypes moeten op de collectietypen van een doeltaal<br />

afgebeeld worden. Gelukkig biedt JAVA een brede waaier van collectietypes aan. Een mogelijke<br />

afbeelding is voorgesteld in tabel 3.4.<br />

OCL collectietype Java type Concreet Java type<br />

Set Set HashSet<br />

Sequence List ArrayList<br />

Bag List ArrayList<br />

OrderedSet List ArrayList<br />

Tabel 3.4: Afbeelding van OCL collectie typen naar JAVA collectie typen<br />

Een Set in OCL stelt een wiskundige verzameling voor. Deze Set bevat elementen zonder<br />

duplicaten. Een OrderedSet is een Set waarbij zijn elementen geordend zijn. Bovendien een<br />

OrderedSet bevat geen duplicaten.<br />

Een Bag is een collectie waarbij duplicaten wel toegelaten zijn. Met andere woorden kan een<br />

object meerdere keren een element van een Bag worden. In een Bag is er geen volgorde.<br />

Een Sequence is een collectie waarbij de elementen geordend zijn. Een element kan meer dan<br />

een keer deel van een Sequence maken.<br />

In OCL hebben we twee typen van operaties over collecties. Operaties die over collecties<br />

itereren en operaties die dat niet doen. De eerste soort noemt men collectieiteratoren en<br />

de tweede eenvoudige collectieoperaties. We zullen eerst de vertaling van de tweede soort<br />

beschrijven.

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

Saved successfully!

Ooh no, something went wrong!