Advertisement
Benlahbib_Abdessamad

Untitled

Jan 8th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. -- @nsURI MM=http://www.eclipse.org/uml2/5.0.0/UML
  2.  
  3. query ModelToFile =
  4. self.contenu().writeTo('C:/Users/Benlahbib/Bilan.txt')
  5. ;
  6.  
  7. helper
  8. def : contenu() : String =
  9. self.entete()
  10. +self.body()
  11. ;
  12.  
  13. helper
  14. def : entete() : String =
  15. 'le nombre de package est : ' + MM!Package.allInstances()->size() + '\n\n'
  16. ;
  17.  
  18. helper def : body() : String = '\n\n' +
  19. MM!Package.allInstances()->iterate(elem; acc: String = '' |
  20. acc + 'le nom du package est : ' + elem.name + '\n' + elem.class(elem.name) + '\n\n') + '\n'
  21. ;
  22.  
  23. helper context MM!Package def : class(packagenom : String) : String =
  24. MM!Class.allInstances()->iterate(elem; acc : String = '' |
  25. acc + if elem.package.name = packagenom then
  26. 'le nom de la classe est : ' + elem.name + '\n' + elem.attribut() + '\n' + elem.methode() + '\n'
  27. else
  28. ''
  29. endif)
  30. ;
  31.  
  32. helper context MM!Class def : attribut() : String =
  33. self.ownedAttribute->iterate(elem; acc : String = 'les attributs : ' |
  34. acc + '(' + elem.name + ' : ' + elem.genereType() + '),'
  35. ) + '\n'
  36. ;
  37.  
  38. helper context MM!Class def : methode(): String =
  39. self.ownedOperation->iterate(elem; acc : String = 'les methodes : ' |
  40. acc + '(' + elem.name + ' : ' + elem.genereTypeOper() + '),'
  41. ) + '\n'
  42. ;
  43.  
  44. helper
  45. context MM!Property def : genereType() : String =
  46. if self.type.oclIsUndefined() then
  47. 'Object '
  48. else if self.type.name = 'Real' then
  49. 'Double '
  50. else
  51. self.type.name + ' '
  52. endif
  53. endif
  54. ;
  55.  
  56. helper
  57. context MM!Operation def : genereTypeOper() : String =
  58. if self.type.oclIsUndefined() then
  59. 'Object '
  60. else if self.type.name = 'Real' then
  61. 'Double '
  62. else
  63. self.type.name + ' '
  64. endif
  65. endif
  66. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement