blob: 39f9f505ec29a6a1ba2818de07b3c863fa994f83 [file] [log] [blame]
[comment encoding = UTF-8 /]
[module templateCollectionCollect3('http://www.eclipse.org/uml2/3.0.0/UML')/]
[template public main(aClassifier : Classifier)]
[comment @main /]
[file ('result.txt', true, 'UTF-8')]
[aClassifier.genPackagePath()/]
[/file]
[/template]
[template public genPackagePath(aType : Type)]
[aType.packagePath().normalizeName()->reverse()->sep('.')/]
[/template]
[query public packagePath(aType : Type) : Sequence(Package) =
Sequence{aType.getNearestPackage()}->union(aType.getNearestPackage().ancestors()->filter(Package))->select(pack : Package | pack.oclIsTypeOf(Package))
/]
[template private normalizeName(anElement : NamedElement) post(trim())]
[if ((anElement.name = 'package') or (anElement.name = 'interface') or (anElement.name = 'class'))]
[anElement.name.concat('_')/]
[else]
[anElement.name/]
[/if]
[/template]