package Ġnl . ut w ente . fmt . ie aat parser . pr m Ċ Ċ import Ġ ics . ea at . abstract mode ller . new model . Meta Template Ċ import Ġ ics . ea at . abstract mode ller . new model . Reference Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunctions Ġfor Ġcanonical Ġnaming Ċ Ġ*/ Ċ fun ĠReference . to Edge Name ( reverse Ġ: ĠBoolean Ġ= Ġfalse ) Ġ: ĠString Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ(! reverse ) ĊĠĠĠĠĠĠĠ Ġ"${ parent Class . name } ->$ parent To Child Label -> ${ child Class . name }" ĊĠĠĠ Ġelse ĊĠĠĠĠĠĠĠ Ġ"${ child Class . name } ->$ child To Parent Label -> ${ parent Class . name }" Ċ } Ċ Ċ fun ĠReference . to Template Edge Name ( template Name Ġ: ĠString ) Ġ= Ġ"$ template Name : Ġ${ parent Class . name } ->$ parent To Child Label -> ${ child Class . name }" Ċ fun ĠString . to Template Name () Ġ= Ġ" T $ this " Ċ fun ĠMeta Template . to Template Name () Ġ= Ġthis . name . to Template Name () Ċ