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