mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
Xtns.TemplateStyles: Cache TemplateStyles for HTML databases [#482]
This commit is contained in:
@@ -60,15 +60,40 @@ public class Db_stmt_ {
|
||||
public static void Val_by_obj(Db_stmt stmt, String key, Object val) {
|
||||
int tid = Type_ids_.To_id_by_obj(val);
|
||||
switch (tid) {
|
||||
case Type_ids_.Id__bool: stmt.Val_bool_as_byte (key, Bool_.Cast(val)); break;
|
||||
case Type_ids_.Id__byte: stmt.Val_byte (key, Byte_.Cast(val)); break;
|
||||
case Type_ids_.Id__int: stmt.Val_int (key, Int_.Cast(val)); break;
|
||||
case Type_ids_.Id__long: stmt.Val_long (key, Long_.cast(val)); break;
|
||||
case Type_ids_.Id__float: stmt.Val_float (key, Float_.cast(val)); break;
|
||||
case Type_ids_.Id__double: stmt.Val_double (key, Double_.cast(val)); break;
|
||||
case Type_ids_.Id__str: stmt.Val_str (key, String_.cast(val)); break;
|
||||
case Type_ids_.Id__bry: stmt.Val_bry (key, Bry_.cast(val)); break;
|
||||
default: throw Err_.new_unhandled_default(tid);
|
||||
case Type_ids_.Id__bool: stmt.Val_bool_as_byte (key, Bool_.Cast(val)); break;
|
||||
case Type_ids_.Id__byte: stmt.Val_byte (key, Byte_.Cast(val)); break;
|
||||
case Type_ids_.Id__int: stmt.Val_int (key, Int_.Cast(val)); break;
|
||||
case Type_ids_.Id__long: stmt.Val_long (key, Long_.cast(val)); break;
|
||||
case Type_ids_.Id__float: stmt.Val_float (key, Float_.cast(val)); break;
|
||||
case Type_ids_.Id__double: stmt.Val_double (key, Double_.cast(val)); break;
|
||||
case Type_ids_.Id__str: stmt.Val_str (key, String_.cast(val)); break;
|
||||
case Type_ids_.Id__bry: stmt.Val_bry (key, Bry_.cast(val)); break;
|
||||
default: throw Err_.new_unhandled_default(tid);
|
||||
}
|
||||
}
|
||||
public static void Insert_by_rdr(Dbmeta_fld_list flds, Db_rdr rdr, Db_stmt stmt) {
|
||||
stmt.Clear();
|
||||
Fill_by_rdr(flds, rdr, stmt);
|
||||
stmt.Exec_insert();
|
||||
}
|
||||
private static void Fill_by_rdr(Dbmeta_fld_list flds, Db_rdr rdr, Db_stmt stmt) {
|
||||
int flds_len = flds.Len();
|
||||
for (int i = 0; i < flds_len; i++) {
|
||||
Dbmeta_fld_itm fld = (Dbmeta_fld_itm)flds.Get_at(i);
|
||||
String fld_name = fld.Name();
|
||||
int fld_tid = fld.Type().Tid_ansi();
|
||||
if (fld.Autonum()) continue;
|
||||
switch (fld_tid) {
|
||||
case Dbmeta_fld_tid.Tid__bool: stmt.Val_bool_as_byte (fld_name, rdr.Read_bool_by_byte(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__byte: stmt.Val_byte (fld_name, rdr.Read_byte(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__int: stmt.Val_int (fld_name, rdr.Read_int(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__long: stmt.Val_long (fld_name, rdr.Read_long(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__float: stmt.Val_float (fld_name, rdr.Read_float(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__double: stmt.Val_double (fld_name, rdr.Read_double(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__str: stmt.Val_str (fld_name, rdr.Read_str(fld_name)); break;
|
||||
case Dbmeta_fld_tid.Tid__bry: stmt.Val_bry (fld_name, rdr.Read_bry(fld_name)); break;
|
||||
default: throw Err_.new_unhandled_default_w_msg(fld_tid, fld_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user