Bonjour,
je cherche des pistes pour effectuer des checks sur mon modèle EMF au runtime (par exemple, obtenir l'arbre d'héritage d'un objet).
Est-ce possible ? Par quel moyen ?
Merci, alt3.
Bonjour,
je cherche des pistes pour effectuer des checks sur mon modèle EMF au runtime (par exemple, obtenir l'arbre d'héritage d'un objet).
Est-ce possible ? Par quel moyen ?
Merci, alt3.
Bonjour,
tu peux utiliser eContainer et eAllContents je pense
Aurélien Pupier
Eclipse GMF-Runtime Committer
R&D Eclipse Engineer, Studio Project Leader
BonitaSoft S.A.
Il ne me semble pas (ou je n'ai pas été clair):
Je veux obtenir des relations de dérivation entre objets, pas des informations de composition ou d'agrégation - ce que me fournissent eContainer et eAllContents.
Ces méthodes donnent accès à des informations sur des instances de classes.
Or, je veux des informations sur les classes elles même.
ok alors tu as un eClass et un eContainingFeature si je me souviens bien
Aurélien Pupier
Eclipse GMF-Runtime Committer
R&D Eclipse Engineer, Studio Project Leader
BonitaSoft S.A.
Salut
D'un côté il faut que tu précises ta question parce que l'arbre d'héritage d'un objet ne signifie pas grand chose. Au mieux, tu peux récupérer tous l'arbre d'héritage du type de l'objet avec :
Si tu veux un arbre (au sens structure de données) il faut utiliser getESuperTypes() et itérer pour obtenir les niveaux supérieurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part myEObject.eClass().getEAllSuperTypes()
Si tu veux récupérer le méta modèle :
Si tu veux récupérer tous les types (instance de EClassifier) du méta modèle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part myEObject.eClass().getEPackage()
Si c'est autre chose, il faut préciser parce que dans l'état ça ne vaut pas dire grand chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part myEObject.eClass().getEPackage().getEClassifiers()
Si c'est pour faire du check sur la cohérence d'un modèle il faut se tourner vers OCL et/ou EMF Validation (qui a un support pour OCL et Java).
Pour du requêtage il y a plusieurs solutions (Java pur avec API EMF, EMF Query, OCL)
Yann
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager