1937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar/* 2937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * Copyright (C) 2016 The Android Open Source Project 3937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * 4937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 5937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * you may not use this file except in compliance with the License. 6937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * You may obtain a copy of the License at 7937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * 8937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 9937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * 10937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * Unless required by applicable law or agreed to in writing, software 11937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 12937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * See the License for the specific language governing permissions and 14937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * limitations under the License. 15937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar */ 16937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 1764db0cc15b78b62a1d44a70fc8b4552e660d952cYigit Boyarpackage android.arch.persistence.db.framework; 18937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 1964db0cc15b78b62a1d44a70fc8b4552e660d952cYigit Boyarimport android.arch.persistence.db.SupportSQLiteStatement; 20937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyarimport android.database.sqlite.SQLiteStatement; 21937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 22937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar/** 23937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * Delegates all calls to a {@link SQLiteStatement}. 24937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar */ 25e185ed6ba937bdc218104c18d2615e1ce524adb7Yigit Boyarclass FrameworkSQLiteStatement implements SupportSQLiteStatement { 26937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar private final SQLiteStatement mDelegate; 27937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 28937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar /** 29937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * Creates a wrapper around a framework {@link SQLiteStatement}. 3064db0cc15b78b62a1d44a70fc8b4552e660d952cYigit Boyar * 31937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * @param delegate The SQLiteStatement to delegate calls to. 32937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar */ 338fe7624039b42a6ae9477334ac86a12267113a3bYigit Boyar FrameworkSQLiteStatement(SQLiteStatement delegate) { 34937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate = delegate; 35937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 36937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 37937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 38937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void bindNull(int index) { 39937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.bindNull(index); 40937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 41937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 42937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 43937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void bindLong(int index, long value) { 44937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.bindLong(index, value); 45937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 46937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 47937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 48937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void bindDouble(int index, double value) { 49937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.bindDouble(index, value); 50937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 51937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 52937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 53937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void bindString(int index, String value) { 54937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.bindString(index, value); 55937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 56937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 57937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 58937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void bindBlob(int index, byte[] value) { 59937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.bindBlob(index, value); 60937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 61937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 62937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 63937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void clearBindings() { 64937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.clearBindings(); 65937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 66937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 67937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 68937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public void execute() { 69937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar mDelegate.execute(); 70937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 71937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 72937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 73937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public int executeUpdateDelete() { 74937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar return mDelegate.executeUpdateDelete(); 75937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 76937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 77937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 78937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public long executeInsert() { 79937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar return mDelegate.executeInsert(); 80937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 81937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 82937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 83937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public long simpleQueryForLong() { 84937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar return mDelegate.simpleQueryForLong(); 85937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 86937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar 87937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar @Override 88937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar public String simpleQueryForString() { 89937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar return mDelegate.simpleQueryForString(); 90937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar } 910d1b036f6868844705cd3b57e96d373edd09b3d5Yigit Boyar 920d1b036f6868844705cd3b57e96d373edd09b3d5Yigit Boyar @Override 930d1b036f6868844705cd3b57e96d373edd09b3d5Yigit Boyar public void close() throws Exception { 940d1b036f6868844705cd3b57e96d373edd09b3d5Yigit Boyar mDelegate.close(); 950d1b036f6868844705cd3b57e96d373edd09b3d5Yigit Boyar } 96937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar} 97