1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package foo.bar; 18 import androidx.room.*; 19 import java.util.List; 20 import io.reactivex.Completable; 21 import io.reactivex.Maybe; 22 import io.reactivex.Single; 23 24 @Dao 25 abstract interface DeletionDao { 26 27 @Delete deleteUser(User user)28 void deleteUser(User user); 29 @Delete deleteUsers(User user1, List<User> others)30 void deleteUsers(User user1, List<User> others); 31 @Delete deleteArrayOfUsers(User[] users)32 void deleteArrayOfUsers(User[] users); 33 34 @Delete deleteUserAndReturnCountObject(User user)35 Integer deleteUserAndReturnCountObject(User user); 36 37 @Delete deleteUserAndReturnCount(User user)38 int deleteUserAndReturnCount(User user); 39 @Delete deleteUserAndReturnCount(User user1, List<User> others)40 int deleteUserAndReturnCount(User user1, List<User> others); 41 @Delete deleteUserAndReturnCount(User[] users)42 int deleteUserAndReturnCount(User[] users); 43 44 @Delete deleteUserCompletable(User user)45 Completable deleteUserCompletable(User user); 46 @Delete deleteUserSingle(User user)47 Single<Integer> deleteUserSingle(User user); 48 @Delete deleteUserMaybe(User user)49 Maybe<Integer> deleteUserMaybe(User user); 50 51 @Delete multiPKey(MultiPKeyEntity entity)52 int multiPKey(MultiPKeyEntity entity); 53 54 @Query("DELETE FROM user where uid = :uid") deleteByUid(int uid)55 int deleteByUid(int uid); 56 57 @Query("DELETE FROM user where uid = :uid") deleteByUidCompletable(int uid)58 Completable deleteByUidCompletable(int uid); 59 60 @Query("DELETE FROM user where uid = :uid") deleteByUidSingle(int uid)61 Single<Integer> deleteByUidSingle(int uid); 62 63 @Query("DELETE FROM user where uid = :uid") deleteByUidMaybe(int uid)64 Maybe<Integer> deleteByUidMaybe(int uid); 65 66 @Query("DELETE FROM user where uid IN(:uid)") deleteByUidList(int... uid)67 int deleteByUidList(int... uid); 68 69 @Delete deleteUserAndBook(User user, Book book)70 void deleteUserAndBook(User user, Book book); 71 72 @Query("DELETE FROM user") deleteEverything()73 int deleteEverything(); 74 } 75