package Ġde . sh og un . lib . h sm . sample Ċ Ċ import Ġde . sh og un . lib . h sm . Event Ċ import Ġde . sh og un . lib . h sm . State Ċ import Ġde . sh og un . lib . h sm . annotations . H sm State Ċ import Ġde . sh og un . lib . h sm . annotations . H sm Transition Ċ import Ġde . sh og un . lib . h sm . annotations . H sm Transition External Ċ Ċ @ H sm State (" Sample ") Ċ @ H sm Transition External ([ ĊĠĠĠ ĠH sm Transition (" external Event ", ĠFoo State :: class ) Ċ ]) Ċ class ĠBar State Ġ: ĠState () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" Bar State " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enter ( event : ĠEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ("$ TAG : Ġon Enter Ġevent : Ġ${ event . eventName }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Exit ( event : ĠEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ("$ TAG : Ġon Exit Ġevent : Ġ${ event . eventName }") ĊĠĠĠ Ġ} Ċ }