/* čĊ Ġ* ĠSp onge ĠKnowledge ĠBase čĊ Ġ* ĠDef ining Ġplugins Ġin Ġa ĠKotlin Ġknowledge Ġbase . čĊ Ġ*/ čĊč Ċ package Ġorg . open ks avi . sponge . kotlin . examples čĊč Ċ import Ġorg . open ks avi . sponge . config . Configuration č Ċ import Ġorg . open ks avi . sponge . event . Event č Ċ import Ġorg . open ks avi . sponge . examples . Connection Plugin č Ċ import Ġorg . open ks avi . sponge . examples . Echo Plugin č Ċ import Ġorg . open ks avi . sponge . kotlin . KK nowledge Base č Ċ import Ġorg . open ks avi . sponge . kotlin . K Plugin č Ċ import Ġorg . open ks avi . sponge . kotlin . K Trigger čĊč Ċ class ĠPlugins Kb Ġ: ĠK Knowledge Base () Ġ{ čĊčĊĠĠĠ Ġoverride Ġfun Ġon Init () Ġ{ čĊĠĠĠĠĠĠĠ Ġ// ĠVariables Ġfor Ġassertions Ġonly čĊĠĠĠĠĠĠĠ Ġsp onge . set Variable (" value Before ", Ġnull ) čĊĠĠĠĠĠĠĠ Ġsp onge . set Variable (" value After ", Ġnull ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** ĠExample Ġplugin Ġdefined Ġin Ġthe ĠKotlin Ġknowledge Ġbase . Ġ*/ čĊĠĠĠ Ġclass ĠKotlin Kb Plugin Ġ: ĠK Plugin () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġstored Value : ĠAny ? Ġ= Ġnull čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Configure ( configuration : ĠConfiguration ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġstored Value Ġ= Ġconfiguration . getString (" stored Value ", Ġ" default ") čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Init () Ġ= Ġlogger . debug (" Initializing Ġ{}", Ġname ) čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Startup () Ġ= Ġlogger . debug (" Starting Ġup Ġ{}", Ġname ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġclass ĠPlugin Trigger Ġ: ĠK Trigger () Ġ{ čĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Configure () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Event (" e 1 ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Run ( event : ĠEvent ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkotlin Kb Plugin Ġ= Ġsp onge . get Plugin ( Kotlin Kb Plugin :: class . java ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Before Ġ= Ġkotlin Kb Plugin . stored Value čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" Plugin Ġstored Ġvalue : Ġ{}", Ġvalue Before ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp onge . set Variable (" value Before ", Ġvalue Before ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Kb Plugin . stored Value Ġ= Ġevent . get < Any >(" value ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue After Ġ= Ġkotlin Kb Plugin . stored Value čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" New Ġstored Ġvalue : Ġ{}", Ġvalue After ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp onge . set Variable (" value After ", Ġvalue After ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Startup () Ġ{ čĊĠĠĠĠĠĠĠ Ġsp onge . event (" e 1 "). set (" value ", Ġ" Value ĠB "). send () čĊĠĠĠ Ġ} č Ċ } čĊ