package Ġcom . db flow 5 . transaction Ċ Ċ import Ġcom . db flow 5 . adapter . Internal Adapter Ċ import Ġcom . db flow 5 . config . model Adapter Ċ import Ġcom . db flow 5 . database . Database Wrapper Ċ import Ġcom . db flow 5 . structure . Model Ċ Ċ /** Ċ Ġ* ĠDescription : ĠSimple Ġinterface Ġfor Ġact ing Ġon Ġa Ġmodel Ġin Ġa ĠTransaction Ġor Ġlist Ġof Ġ[ Model ] Ċ Ġ*/ Ċ private Ġtype alias ĠProcess Model List < T Model > Ġ= Ġ( List < T Model >, ĠInternal Adapter < T Model >, ĠDatabase Wrapper ) Ġ-> ĠLong Ċ Ċ /** Ċ Ġ* ĠDescription : ĠSim iliar Ġto Ġ[ Process Model Transaction ] Ġin Ġthat Ġit Ġallows Ġyou Ġto Ġstore Ġa Ġ[ List ] Ġof Ċ Ġ* Ġ[ Model ], Ġexcept Ġthat Ġit Ġperforms Ġit Ġas Ġefficiently Ġas Ġpossible . ĠAlso Ġdue Ġto Ġway Ġthe Ġclass Ġoper ates , Ċ Ġ* Ġonly Ġone Ġkind Ġof Ġ[ T Model ] Ġis Ġallowed . Ċ Ġ*/ Ċ class ĠFast Store Model Transaction < T Model > Ġinternal Ġconstructor ( builder : ĠBuilder < T Model >) Ġ: ĠI Transaction < Long > Ġ{ ĊĊĠĠĠ Ġinternal Ġval Ġmodels : ĠList < T Model >? ĊĠĠĠ Ġinternal Ġval Ġprocess Model List : ĠProcess Model List < T Model > ĊĠĠĠ Ġinternal Ġval Ġinternal Adapter : ĠInternal Adapter < T Model > ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġmodels Ġ= Ġbuilder . models ĊĠĠĠĠĠĠĠ Ġprocess Model List Ġ= Ġbuilder . process Model List ĊĠĠĠĠĠĠĠ Ġinternal Adapter Ġ= Ġbuilder . internal Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( database Wrapper : ĠDatabase Wrapper ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( models Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprocess Model List ( models , Ġinternal Adapter , Ġdatabase Wrapper ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 L ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMakes Ġit Ġeasy Ġto Ġbuild Ġa Ġ[ Process Model Transaction ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ< T Model > ĊĠĠĠ Ġ</ T Model > Ġ*/ ĊĠĠĠ Ġclass ĠBuilder < T Model > Ġinternal Ġconstructor ( internal Ġval Ġinternal Adapter : ĠInternal Adapter < T Model >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġval Ġprocess Model List : ĠProcess Model List < T Model >) Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġmodels : ĠMutable List < T Model > Ġ= Ġarray ListOf () ĊĊĠĠĠĠĠĠĠ Ġfun Ġadd ( model : ĠT Model ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodels . add ( model ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠAdds Ġall Ġspecified Ġmodels Ġto Ġthe Ġ[ ArrayList ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Safe Var args ĊĠĠĠĠĠĠĠ Ġfun Ġadd All ( var arg Ġmodels : ĠT Model ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . models . addAll ( models . toList ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠAdds Ġa Ġ[ Collection ] Ġof Ġ[ Model ] Ġto Ġthe Ġexisting Ġ[ ArrayList ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġadd All ( models : ĠCollection < T Model > ?) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( models Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . models . addAll ( models ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠA Ġnew Ġ[ Process Model Transaction ]. ĠSub sequent Ġcalls Ġto Ġthis Ġmethod Ġproduce ĊĠĠĠĠĠĠĠĠ Ġ* Ġnew Ġinstances . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠFast Store Model Transaction < T Model > Ġ= ĠFast Store Model Transaction ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Model > Ġsave Builder ( internal Adapter : ĠInternal Adapter < T Model >): ĠBuilder < T Model > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuilder ( internal Adapter ) Ġ{ Ġt Models , Ġadapter , Ġwrapper Ġ-> Ġadapter . save All ( t Models , Ġwrapper ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Model > Ġinsert Builder ( internal Adapter : ĠInternal Adapter < T Model >): ĠBuilder < T Model > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuilder ( internal Adapter ) Ġ{ Ġt Models , Ġadapter , Ġwrapper Ġ-> Ġadapter . insert All ( t Models , Ġwrapper ) Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Model > Ġupdate Builder ( internal Adapter : ĠInternal Adapter < T Model >): ĠBuilder < T Model > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuilder ( internal Adapter ) Ġ{ Ġt Models , Ġadapter , Ġwrapper Ġ-> Ġadapter . update All ( t Models , Ġwrapper ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Model > Ġdelete Builder ( internal Adapter : ĠInternal Adapter < T Model >): ĠBuilder < T Model > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuilder ( internal Adapter ) Ġ{ Ġt Models , Ġadapter , Ġwrapper Ġ-> Ġadapter . delete All ( t Models , Ġwrapper ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠCollection < T >. fast Save (): ĠFast Store Model Transaction . Builder < T > Ġ= ĊĠĠĠĠĠĠĠ ĠFast Store Model Transaction . save Builder ( model Adapter < T > ()). addAll ( this ) Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠCollection < T >. fast Insert (): ĠFast Store Model Transaction . Builder < T > Ġ= ĊĠĠĠĠĠĠĠ ĠFast Store Model Transaction . insert Builder ( model Adapter < T > ()). addAll ( this ) Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠCollection < T >. fast Update (): ĠFast Store Model Transaction . Builder < T > Ġ= ĊĠĠĠĠĠĠĠ ĠFast Store Model Transaction . update Builder ( model Adapter < T > ()). addAll ( this ) Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠCollection < T >. fast Delete (): ĠFast Store Model Transaction . Builder < T > Ġ= ĊĠĠĠĠĠĠĠ ĠFast Store Model Transaction . delete Builder ( model Adapter < T > ()). addAll ( this )