Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
VIATRA/Query/UserDocumentation/AdvancedPatterns
< VIATRA | Query
Revision as of 10:34, 5 April 2013 by Szabta89.github.com (Talk | contribs) (New page: = Working with EMaps in EMF-IncQuery = The eclipse.org EMF wiki gives a proper FAQ about the various modeling related issues, including the usage of EMap-s in your metamodel. With EMF-In...)
Working with EMaps in EMF-IncQuery
The eclipse.org EMF wiki gives a proper FAQ about the various modeling related issues, including the usage of EMap-s in your metamodel. With EMF-IncQuery you can even write your own queries to extract the key-value pairs from your instance model.
EMaps in your metamodel
- Creating the actual EMap type Create an EClass with the name [Type1]To[Type2]Map where [Type1] represents the key's type and the [Type2] represents the value's type.
- Set the Instance Type Name property of the newly created EClass to java.util.Map$Entry.
- Create an EAttribute or EReference named "key" and set the EDataType or EClass for it.
- Create an EAttribute or EReference called "value" and set the EDataType or EClass for it.
To actually use this newly created type follow these steps:
- Create an EReference with its EClass set to be the map-entry class you created above.
- Set the Containment property of your EReference to be true.
- Set the upper-bound of your EReference to be -1 (unbounded).
EMaps in your instance model
Parts of this overview are based on the http://wiki.eclipse.org/index.php/EMF-FAQ#How_do_i_create_a_Map_in_EMF.3F page.