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