package Ġcom . db flow 5 . query Ċ Ċ import Ġcom . db flow 5 . database . Database Wrapper Ċ import Ġcom . db flow 5 . drop Trigger Ċ import Ġcom . db flow 5 . sql . Query Ċ Ċ /** Ċ Ġ* ĠDescription : ĠThe Ġlast Ġpiece Ġof Ġa ĠTR IG GER Ġstatement , Ġthis Ġclass Ġcontains Ġthe ĠBEGIN ... END Ġand Ġthe Ġlogic Ġin Ġbetween . Ċ Ġ*/ Ċ class ĠCompleted Trigger < T Model > Ġinternal Ġconstructor ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġfirst Ġpieces Ġof Ġthis ĠTR IG GER Ġstatement ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġtrigger Method : ĠTrigger Method < T Model >, Ġtrigger Logic Query : ĠQuery ) Ġ: ĠQuery Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġquery Ġto Ġrun Ġbetween Ġthe ĠBEGIN Ġand ĠEND Ġof Ġthis Ġstatement ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġtrigger Logic Query Ġ= Ġarray ListOf < Query >() ĊĊĠĠĠ Ġoverride Ġval Ġquery : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ trigger Method . query }\ n BEGIN \ n ${ trigger Logic Query . join ToString ( separator Ġ= Ġ"; \ n ") }; \ n END " ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . trigger Logic Query . add ( trigger Logic Query ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApp ends Ġthe Ġnext Statement Ġto Ġthis Ġquery Ġas Ġanother Ġline Ġto Ġbe Ġexecuted Ġby Ġtrigger . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġin fix Ġfun Ġand ( next Statement : ĠQuery ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . trigger Logic Query . add ( next Statement ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTurn s Ġon Ġthis Ġtrigger ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġenable ( database Wrapper : ĠDatabase Wrapper ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase Wrapper . exec SQL ( query ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDis ables Ġthis Ġtrigger ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdisable ( database Wrapper : ĠDatabase Wrapper ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdrop Trigger ( database Wrapper , Ġtrigger Method . trigger . name ) ĊĠĠĠ Ġ} Ċ } Ċ