package Ġmain . kotlin . service . cpp Ċ // Ġ Ë ħ Ċ import Ġmain . kotlin . util . collector . Class Collector Ċ import Ġcom . change _ vision . j ude . api . inf . editor . Model Editor Factory Ċ import Ġcom . change _ vision . j ude . api . inf . model . IC lass Ċ import Ġcom . change _ vision . j ude . api . inf . model . IN amed Element Ċ import Ġmain . kotlin . service . IM y Plugin Action Delegate Ċ // Ġ Ë Ħ Ċ Ċ class ĠAdd Constructor Ġ: ĠI My Plugin Action Delegate Ġ{ ĊĠĠĠ Ġ// Ġ Ë ħ ĊĠĠĠĠĊĠĠĠ Ġ// Ġ Ë Ħ ĊĊĠĠĠ Ġoverride Ġfun Ġcollect Selected Elements (): ĠList < IN amed Element > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ Ë ħ ĊĠĠĠĠĠĠĠ Ġreturn ĠClass Collector (). collect From Selected Elements () ĊĠĠĠĠĠĠĠ Ġ// Ġ Ë Ħ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexclude Set Elements ( selected Elements : ĠList < IN amed Element >): ĠList < IN amed Element > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ Ë ħ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Classes Ġ= Ġmutable ListOf < IN amed Element >() ĊĊĠĠĠĠĠĠĠ Ġloop @ Ġfor Ġ( selected Element Ġin Ġselected Elements ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selected Element Ġ! is ĠI Class ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġselected Element . owner Ġis ĠI Class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue @ loop ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( operation Ġin Ġselected Element . operations ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( operation . name Ġ== Ġselected Element . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue @ loop ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Classes . add ( selected Element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtarget Classes ĊĠĠĠĠĠĠĠ Ġ// Ġ Ë Ħ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġedit Elements ( elements : ĠList < IN amed Element >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ Ë ħ ĊĠĠĠĠĠĠĠ Ġelements . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbasic Model Editor Ġ= ĠModel Editor Factory . get Basic Model Editor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconstructor Ġ= Ġbasic Model Editor . create Operation ( it Ġas ĠI Class , Ġit . name , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Added Ġconstructor Ġ: ". plus ( constructor . get FullName (". "). plus (" () "))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ Ë Ħ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ Ë ħ ĊĠĠĠĠĊĠĠĠ Ġ// Ġ Ë Ħ Ċ } Ċ Ċ // Ġ Ë ħ Ċ Ċ // Ġ Ë Ħ Ċ