package Ġdev . mor u 3 . comp sql . sqlite . update . insert Ċ Ċ import Ġdev . mor u 3 . comp sql . abstract s . Abstract Insert Ċ import Ġdev . mor u 3 . comp sql . datatype . Base DataType Ċ import Ġdev . mor u 3 . comp sql . syntax . table . Table Ċ Ċ class ĠSQLite Insert ( table : ĠTable ) Ġ: ĠAbstract Insert ( table ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild As Raw ( force : ĠBoolean ): ĠPair < String , ĠList < Pair < Any , ĠBase DataType < *, * >>>> Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( values . isEmpty ()) Ġ{ Ġthrow ĠIllegalStateException (" values Ġis Ġempty .") Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" INSERT ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! force ) Ġ{ Ġappend (" ĠOR ĠIG NORE ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" ĠINTO Ġ"). append ( table . name ). append (" (" ). append ( values . keys . join ToString (", Ġ" )). append (" )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (" ĠVALUES (" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Mutable List ( values . size ){ "? "} . join ToString ("," )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (" )") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġvalue List Ġ= Ġvalues . values . map Ġ{ Ġit . second Ġto Ġit . first Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult Ġto Ġvalue List ĊĠĠĠ Ġ} Ċ }