1 /* 2 * Copyright (C) 2017 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 UpdateDao { 26 @Update updateUser(User user)27 void updateUser(User user); 28 @Update updateUsers(User user1, List<User> others)29 void updateUsers(User user1, List<User> others); 30 @Update updateArrayOfUsers(User[] users)31 void updateArrayOfUsers(User[] users); 32 @Update(onConflict=OnConflictStrategy.NONE) updateTwoUsers(User userOne, User userTwo)33 void updateTwoUsers(User userOne, User userTwo); 34 35 @Update updateUserAndReturnCount(User user)36 int updateUserAndReturnCount(User user); 37 @Update updateUserAndReturnCount(User user1, List<User> others)38 int updateUserAndReturnCount(User user1, List<User> others); 39 @Update updateUserAndReturnCount(User[] users)40 int updateUserAndReturnCount(User[] users); 41 42 @Update updateUserAndReturnCountObject(User user)43 Integer updateUserAndReturnCountObject(User user); 44 45 @Update updateUserAndReturnCountCompletable(User user)46 Completable updateUserAndReturnCountCompletable(User user); 47 @Update updateUserAndReturnCountSingle(User user)48 Single<Integer> updateUserAndReturnCountSingle(User user); 49 @Update updateUserAndReturnCountMaybe(User user)50 Maybe<Integer> updateUserAndReturnCountMaybe(User user); 51 52 @Update multiPKey(MultiPKeyEntity entity)53 int multiPKey(MultiPKeyEntity entity); 54 55 @Update updateUserAndBook(User user, Book book)56 void updateUserAndBook(User user, Book book); 57 58 @Query("UPDATE User SET ageColumn = ageColumn + 1 WHERE uid = :uid") ageUserByUid(String uid)59 void ageUserByUid(String uid); 60 61 @Query("UPDATE User SET ageColumn = ageColumn + 1") ageUserAll()62 void ageUserAll(); 63 64 @Query("UPDATE User SET ageColumn = ageColumn + 1") ageUserAllCompletable()65 Completable ageUserAllCompletable(); 66 67 @Query("UPDATE User SET ageColumn = ageColumn + 1") ageUserAllSingle()68 Single<Integer> ageUserAllSingle(); 69 70 @Query("UPDATE User SET ageColumn = ageColumn + 1") ageUserAllMaybe()71 Maybe<Integer> ageUserAllMaybe(); 72 } 73