<lambda>null1 import androidx.room.EntityInsertAdapter
2 import androidx.room.RoomDatabase
3 import androidx.room.util.getColumnIndexOrThrow
4 import androidx.room.util.performBlocking
5 import androidx.sqlite.SQLiteStatement
6 import javax.`annotation`.processing.Generated
7 import kotlin.IllegalArgumentException
8 import kotlin.Int
9 import kotlin.String
10 import kotlin.Suppress
11 import kotlin.Unit
12 import kotlin.collections.List
13 import kotlin.reflect.KClass
14 
15 @Generated(value = ["androidx.room.RoomProcessor"])
16 @Suppress(names = ["UNCHECKED_CAST", "DEPRECATION", "REDUNDANT_PROJECTION", "REMOVAL"])
17 public class MyDao_Impl(
18   __db: RoomDatabase,
19 ) : MyDao {
20   private val __db: RoomDatabase
21 
22   private val __insertAdapterOfMyEntity: EntityInsertAdapter<MyEntity>
23   init {
24     this.__db = __db
25     this.__insertAdapterOfMyEntity = object : EntityInsertAdapter<MyEntity>() {
26       protected override fun createQuery(): String = "INSERT OR ABORT INTO `MyEntity` (`pk`,`enum`,`nullableEnum`) VALUES (?,?,?)"
27 
28       protected override fun bind(statement: SQLiteStatement, entity: MyEntity) {
29         statement.bindLong(1, entity.pk.toLong())
30         statement.bindText(2, __Fruit_enumToString(entity.enum))
31         val _tmpNullableEnum: Fruit? = entity.nullableEnum
32         if (_tmpNullableEnum == null) {
33           statement.bindNull(3)
34         } else {
35           statement.bindText(3, __Fruit_enumToString(_tmpNullableEnum))
36         }
37       }
38     }
39   }
40 
41   public override fun addEntity(item: MyEntity): Unit = performBlocking(__db, false, true) { _connection ->
42     __insertAdapterOfMyEntity.insert(_connection, item)
43   }
44 
45   public override fun getEntity(): MyEntity {
46     val _sql: String = "SELECT * FROM MyEntity"
47     return performBlocking(__db, true, false) { _connection ->
48       val _stmt: SQLiteStatement = _connection.prepare(_sql)
49       try {
50         val _columnIndexOfPk: Int = getColumnIndexOrThrow(_stmt, "pk")
51         val _columnIndexOfEnum: Int = getColumnIndexOrThrow(_stmt, "enum")
52         val _columnIndexOfNullableEnum: Int = getColumnIndexOrThrow(_stmt, "nullableEnum")
53         val _result: MyEntity
54         if (_stmt.step()) {
55           val _tmpPk: Int
56           _tmpPk = _stmt.getLong(_columnIndexOfPk).toInt()
57           val _tmpEnum: Fruit
58           _tmpEnum = __Fruit_stringToEnum(_stmt.getText(_columnIndexOfEnum))
59           val _tmpNullableEnum: Fruit?
60           if (_stmt.isNull(_columnIndexOfNullableEnum)) {
61             _tmpNullableEnum = null
62           } else {
63             _tmpNullableEnum = __Fruit_stringToEnum(_stmt.getText(_columnIndexOfNullableEnum))
64           }
65           _result = MyEntity(_tmpPk,_tmpEnum,_tmpNullableEnum)
66         } else {
67           error("The query result was empty, but expected a single row to return a NON-NULL object of type <MyEntity>.")
68         }
69         _result
70       } finally {
71         _stmt.close()
72       }
73     }
74   }
75 
76   private fun __Fruit_enumToString(_value: Fruit): String = when (_value) {
77     Fruit.APPLE -> "APPLE"
78     Fruit.BANANA -> "BANANA"
79   }
80 
81   private fun __Fruit_stringToEnum(_value: String): Fruit = when (_value) {
82     "APPLE" -> Fruit.APPLE
83     "BANANA" -> Fruit.BANANA
84     else -> throw IllegalArgumentException("Can't convert value to enum, unknown value: " + _value)
85   }
86 
87   public companion object {
88     public fun getRequiredConverters(): List<KClass<*>> = emptyList()
89   }
90 }
91