1 package foo.bar; 2 3 import android.database.Cursor; 4 import androidx.annotation.NonNull; 5 import androidx.lifecycle.ComputableLiveData; 6 import androidx.lifecycle.LiveData; 7 import androidx.room.InvalidationTracker.Observer; 8 import androidx.room.RoomDatabase; 9 import androidx.room.RoomSQLiteQuery; 10 import androidx.room.util.StringUtil; 11 import java.lang.Integer; 12 import java.lang.Override; 13 import java.lang.String; 14 import java.lang.StringBuilder; 15 import java.lang.SuppressWarnings; 16 import java.util.ArrayList; 17 import java.util.List; 18 import java.util.Set; 19 import javax.annotation.Generated; 20 21 @Generated("androidx.room.RoomProcessor") 22 @SuppressWarnings("unchecked") 23 public class ComplexDao_Impl extends ComplexDao { 24 private final RoomDatabase __db; 25 26 public ComplexDao_Impl(ComplexDatabase __db) { 27 super(__db); 28 this.__db = __db; 29 } 30 31 @Override 32 public boolean transactionMethod(int i, String s, long l) { 33 __db.beginTransaction(); 34 try { 35 boolean _result = super.transactionMethod(i, s, l); 36 __db.setTransactionSuccessful(); 37 return _result; 38 } finally { 39 __db.endTransaction(); 40 } 41 } 42 43 @Override 44 public List<ComplexDao.FullName> fullNames(int id) { 45 final String _sql = "SELECT name || lastName as fullName, uid as id FROM user where uid = ?"; 46 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1); 47 int _argIndex = 1; 48 _statement.bindLong(_argIndex, id); 49 final Cursor _cursor = __db.query(_statement); 50 try { 51 final int _cursorIndexOfFullName = _cursor.getColumnIndexOrThrow("fullName"); 52 final int _cursorIndexOfId = _cursor.getColumnIndexOrThrow("id"); 53 final List<ComplexDao.FullName> _result = new ArrayList<ComplexDao.FullName>(_cursor.getCount()); 54 while(_cursor.moveToNext()) { 55 final ComplexDao.FullName _item; 56 _item = new ComplexDao.FullName(); 57 _item.fullName = _cursor.getString(_cursorIndexOfFullName); 58 _item.id = _cursor.getInt(_cursorIndexOfId); 59 _result.add(_item); 60 } 61 return _result; 62 } finally { 63 _cursor.close(); 64 _statement.release(); 65 } 66 } 67 68 @Override 69 public User getById(int id) { 70 final String _sql = "SELECT * FROM user where uid = ?"; 71 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1); 72 int _argIndex = 1; 73 _statement.bindLong(_argIndex, id); 74 final Cursor _cursor = __db.query(_statement); 75 try { 76 final int _cursorIndexOfUid = _cursor.getColumnIndexOrThrow("uid"); 77 final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name"); 78 final int _cursorIndexOfLastName = _cursor.getColumnIndexOrThrow("lastName"); 79 final int _cursorIndexOfAge = _cursor.getColumnIndexOrThrow("ageColumn"); 80 final User _result; 81 if(_cursor.moveToFirst()) { 82 _result = new User(); 83 _result.uid = _cursor.getInt(_cursorIndexOfUid); 84 _result.name = _cursor.getString(_cursorIndexOfName); 85 final String _tmpLastName; 86 _tmpLastName = _cursor.getString(_cursorIndexOfLastName); 87 _result.setLastName(_tmpLastName); 88 _result.age = _cursor.getInt(_cursorIndexOfAge); 89 } else { 90 _result = null; 91 } 92 return _result; 93 } finally { 94 _cursor.close(); 95 _statement.release(); 96 } 97 } 98 99 @Override 100 public User findByName(String name, String lastName) { 101 final String _sql = "SELECT * FROM user where name LIKE ? AND lastName LIKE ?"; 102 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 2); 103 int _argIndex = 1; 104 if (name == null) { 105 _statement.bindNull(_argIndex); 106 } else { 107 _statement.bindString(_argIndex, name); 108 } 109 _argIndex = 2; 110 if (lastName == null) { 111 _statement.bindNull(_argIndex); 112 } else { 113 _statement.bindString(_argIndex, lastName); 114 } 115 final Cursor _cursor = __db.query(_statement); 116 try { 117 final int _cursorIndexOfUid = _cursor.getColumnIndexOrThrow("uid"); 118 final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name"); 119 final int _cursorIndexOfLastName = _cursor.getColumnIndexOrThrow("lastName"); 120 final int _cursorIndexOfAge = _cursor.getColumnIndexOrThrow("ageColumn"); 121 final User _result; 122 if(_cursor.moveToFirst()) { 123 _result = new User(); 124 _result.uid = _cursor.getInt(_cursorIndexOfUid); 125 _result.name = _cursor.getString(_cursorIndexOfName); 126 final String _tmpLastName; 127 _tmpLastName = _cursor.getString(_cursorIndexOfLastName); 128 _result.setLastName(_tmpLastName); 129 _result.age = _cursor.getInt(_cursorIndexOfAge); 130 } else { 131 _result = null; 132 } 133 return _result; 134 } finally { 135 _cursor.close(); 136 _statement.release(); 137 } 138 } 139 140 @Override 141 public List<User> loadAllByIds(int... ids) { 142 StringBuilder _stringBuilder = StringUtil.newStringBuilder(); 143 _stringBuilder.append("SELECT * FROM user where uid IN ("); 144 final int _inputSize = ids.length; 145 StringUtil.appendPlaceholders(_stringBuilder, _inputSize); 146 _stringBuilder.append(")"); 147 final String _sql = _stringBuilder.toString(); 148 final int _argCount = 0 + _inputSize; 149 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, _argCount); 150 int _argIndex = 1; 151 for (int _item : ids) { 152 _statement.bindLong(_argIndex, _item); 153 _argIndex ++; 154 } 155 final Cursor _cursor = __db.query(_statement); 156 try { 157 final int _cursorIndexOfUid = _cursor.getColumnIndexOrThrow("uid"); 158 final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name"); 159 final int _cursorIndexOfLastName = _cursor.getColumnIndexOrThrow("lastName"); 160 final int _cursorIndexOfAge = _cursor.getColumnIndexOrThrow("ageColumn"); 161 final List<User> _result = new ArrayList<User>(_cursor.getCount()); 162 while(_cursor.moveToNext()) { 163 final User _item_1; 164 _item_1 = new User(); 165 _item_1.uid = _cursor.getInt(_cursorIndexOfUid); 166 _item_1.name = _cursor.getString(_cursorIndexOfName); 167 final String _tmpLastName; 168 _tmpLastName = _cursor.getString(_cursorIndexOfLastName); 169 _item_1.setLastName(_tmpLastName); 170 _item_1.age = _cursor.getInt(_cursorIndexOfAge); 171 _result.add(_item_1); 172 } 173 return _result; 174 } finally { 175 _cursor.close(); 176 _statement.release(); 177 } 178 } 179 180 @Override 181 int getAge(int id) { 182 final String _sql = "SELECT ageColumn FROM user where uid = ?"; 183 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1); 184 int _argIndex = 1; 185 _statement.bindLong(_argIndex, id); 186 final Cursor _cursor = __db.query(_statement); 187 try { 188 final int _result; 189 if(_cursor.moveToFirst()) { 190 _result = _cursor.getInt(0); 191 } else { 192 _result = 0; 193 } 194 return _result; 195 } finally { 196 _cursor.close(); 197 _statement.release(); 198 } 199 } 200 201 @Override 202 public int[] getAllAges(int... ids) { 203 StringBuilder _stringBuilder = StringUtil.newStringBuilder(); 204 _stringBuilder.append("SELECT ageColumn FROM user where uid IN("); 205 final int _inputSize = ids.length; 206 StringUtil.appendPlaceholders(_stringBuilder, _inputSize); 207 _stringBuilder.append(")"); 208 final String _sql = _stringBuilder.toString(); 209 final int _argCount = 0 + _inputSize; 210 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, _argCount); 211 int _argIndex = 1; 212 for (int _item : ids) { 213 _statement.bindLong(_argIndex, _item); 214 _argIndex ++; 215 } 216 final Cursor _cursor = __db.query(_statement); 217 try { 218 final int[] _result = new int[_cursor.getCount()]; 219 int _index = 0; 220 while(_cursor.moveToNext()) { 221 final int _item_1; 222 _item_1 = _cursor.getInt(0); 223 _result[_index] = _item_1; 224 _index ++; 225 } 226 return _result; 227 } finally { 228 _cursor.close(); 229 _statement.release(); 230 } 231 } 232 233 @Override 234 public List<Integer> getAllAgesAsList(List<Integer> ids) { 235 StringBuilder _stringBuilder = StringUtil.newStringBuilder(); 236 _stringBuilder.append("SELECT ageColumn FROM user where uid IN("); 237 final int _inputSize = ids.size(); 238 StringUtil.appendPlaceholders(_stringBuilder, _inputSize); 239 _stringBuilder.append(")"); 240 final String _sql = _stringBuilder.toString(); 241 final int _argCount = 0 + _inputSize; 242 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, _argCount); 243 int _argIndex = 1; 244 for (Integer _item : ids) { 245 if (_item == null) { 246 _statement.bindNull(_argIndex); 247 } else { 248 _statement.bindLong(_argIndex, _item); 249 } 250 _argIndex ++; 251 } 252 final Cursor _cursor = __db.query(_statement); 253 try { 254 final List<Integer> _result = new ArrayList<Integer>(_cursor.getCount()); 255 while(_cursor.moveToNext()) { 256 final Integer _item_1; 257 if (_cursor.isNull(0)) { 258 _item_1 = null; 259 } else { 260 _item_1 = _cursor.getInt(0); 261 } 262 _result.add(_item_1); 263 } 264 return _result; 265 } finally { 266 _cursor.close(); 267 _statement.release(); 268 } 269 } 270 271 @Override 272 public LiveData<User> getByIdLive(int id) { 273 final String _sql = "SELECT * FROM user where uid = ?"; 274 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1); 275 int _argIndex = 1; 276 _statement.bindLong(_argIndex, id); 277 return new ComputableLiveData<User>() { 278 private Observer _observer; 279 280 @Override 281 protected User compute() { 282 if (_observer == null) { 283 _observer = new Observer("user") { 284 @Override 285 public void onInvalidated(@NonNull Set<String> tables) { 286 invalidate(); 287 } 288 }; 289 __db.getInvalidationTracker().addWeakObserver(_observer); 290 } 291 final Cursor _cursor = __db.query(_statement); 292 try { 293 final int _cursorIndexOfUid = _cursor.getColumnIndexOrThrow("uid"); 294 final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name"); 295 final int _cursorIndexOfLastName = _cursor.getColumnIndexOrThrow("lastName"); 296 final int _cursorIndexOfAge = _cursor.getColumnIndexOrThrow("ageColumn"); 297 final User _result; 298 if(_cursor.moveToFirst()) { 299 _result = new User(); 300 _result.uid = _cursor.getInt(_cursorIndexOfUid); 301 _result.name = _cursor.getString(_cursorIndexOfName); 302 final String _tmpLastName; 303 _tmpLastName = _cursor.getString(_cursorIndexOfLastName); 304 _result.setLastName(_tmpLastName); 305 _result.age = _cursor.getInt(_cursorIndexOfAge); 306 } else { 307 _result = null; 308 } 309 return _result; 310 } finally { 311 _cursor.close(); 312 } 313 } 314 315 @Override 316 protected void finalize() { 317 _statement.release(); 318 } 319 }.getLiveData(); 320 } 321 322 @Override 323 public LiveData<List<User>> loadUsersByIdsLive(int... ids) { 324 StringBuilder _stringBuilder = StringUtil.newStringBuilder(); 325 _stringBuilder.append("SELECT * FROM user where uid IN ("); 326 final int _inputSize = ids.length; 327 StringUtil.appendPlaceholders(_stringBuilder, _inputSize); 328 _stringBuilder.append(")"); 329 final String _sql = _stringBuilder.toString(); 330 final int _argCount = 0 + _inputSize; 331 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, _argCount); 332 int _argIndex = 1; 333 for (int _item : ids) { 334 _statement.bindLong(_argIndex, _item); 335 _argIndex ++; 336 } 337 return new ComputableLiveData<List<User>>() { 338 private Observer _observer; 339 340 @Override 341 protected List<User> compute() { 342 if (_observer == null) { 343 _observer = new Observer("user") { 344 @Override 345 public void onInvalidated(@NonNull Set<String> tables) { 346 invalidate(); 347 } 348 }; 349 __db.getInvalidationTracker().addWeakObserver(_observer); 350 } 351 final Cursor _cursor = __db.query(_statement); 352 try { 353 final int _cursorIndexOfUid = _cursor.getColumnIndexOrThrow("uid"); 354 final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name"); 355 final int _cursorIndexOfLastName = _cursor.getColumnIndexOrThrow("lastName"); 356 final int _cursorIndexOfAge = _cursor.getColumnIndexOrThrow("ageColumn"); 357 final List<User> _result = new ArrayList<User>(_cursor.getCount()); 358 while(_cursor.moveToNext()) { 359 final User _item_1; 360 _item_1 = new User(); 361 _item_1.uid = _cursor.getInt(_cursorIndexOfUid); 362 _item_1.name = _cursor.getString(_cursorIndexOfName); 363 final String _tmpLastName; 364 _tmpLastName = _cursor.getString(_cursorIndexOfLastName); 365 _item_1.setLastName(_tmpLastName); 366 _item_1.age = _cursor.getInt(_cursorIndexOfAge); 367 _result.add(_item_1); 368 } 369 return _result; 370 } finally { 371 _cursor.close(); 372 } 373 } 374 375 @Override 376 protected void finalize() { 377 _statement.release(); 378 } 379 }.getLiveData(); 380 } 381 382 @Override 383 public List<Integer> getAllAgesAsList(List<Integer> ids1, int[] ids2, int... ids3) { 384 StringBuilder _stringBuilder = StringUtil.newStringBuilder(); 385 _stringBuilder.append("SELECT ageColumn FROM user where uid IN("); 386 final int _inputSize = ids1.size(); 387 StringUtil.appendPlaceholders(_stringBuilder, _inputSize); 388 _stringBuilder.append(") OR uid IN ("); 389 final int _inputSize_1 = ids2.length; 390 StringUtil.appendPlaceholders(_stringBuilder, _inputSize_1); 391 _stringBuilder.append(") OR uid IN ("); 392 final int _inputSize_2 = ids3.length; 393 StringUtil.appendPlaceholders(_stringBuilder, _inputSize_2); 394 _stringBuilder.append(")"); 395 final String _sql = _stringBuilder.toString(); 396 final int _argCount = 0 + _inputSize + _inputSize_1 + _inputSize_2; 397 final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, _argCount); 398 int _argIndex = 1; 399 for (Integer _item : ids1) { 400 if (_item == null) { 401 _statement.bindNull(_argIndex); 402 } else { 403 _statement.bindLong(_argIndex, _item); 404 } 405 _argIndex ++; 406 } 407 _argIndex = 1 + _inputSize; 408 for (int _item_1 : ids2) { 409 _statement.bindLong(_argIndex, _item_1); 410 _argIndex ++; 411 } 412 _argIndex = 1 + _inputSize + _inputSize_1; 413 for (int _item_2 : ids3) { 414 _statement.bindLong(_argIndex, _item_2); 415 _argIndex ++; 416 } 417 final Cursor _cursor = __db.query(_statement); 418 try { 419 final List<Integer> _result = new ArrayList<Integer>(_cursor.getCount()); 420 while(_cursor.moveToNext()) { 421 final Integer _item_3; 422 if (_cursor.isNull(0)) { 423 _item_3 = null; 424 } else { 425 _item_3 = _cursor.getInt(0); 426 } 427 _result.add(_item_3); 428 } 429 return _result; 430 } finally { 431 _cursor.close(); 432 _statement.release(); 433 } 434 } 435 } 436