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
17bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viverettepackage androidx.sqlite.db.framework;
18937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
19937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyarimport android.database.sqlite.SQLiteStatement;
20937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
21bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viveretteimport androidx.sqlite.db.SupportSQLiteStatement;
22bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viverette
23937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar/**
24937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar * Delegates all calls to a {@link SQLiteStatement}.
25937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar */
26858324c2e86cd2ab24617941caaac5f1e5944456Jake Whartonclass FrameworkSQLiteStatement extends FrameworkSQLiteProgram implements SupportSQLiteStatement {
27937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    private final SQLiteStatement mDelegate;
28937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
29937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    /**
30937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar     * Creates a wrapper around a framework {@link SQLiteStatement}.
3164db0cc15b78b62a1d44a70fc8b4552e660d952cYigit Boyar     *
32937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar     * @param delegate The SQLiteStatement to delegate calls to.
33937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar     */
348fe7624039b42a6ae9477334ac86a12267113a3bYigit Boyar    FrameworkSQLiteStatement(SQLiteStatement delegate) {
35858324c2e86cd2ab24617941caaac5f1e5944456Jake Wharton        super(delegate);
36937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar        mDelegate = delegate;
37937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    }
38937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
39937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    @Override
40937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    public void execute() {
41937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar        mDelegate.execute();
42937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    }
43937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
44937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    @Override
45937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    public int executeUpdateDelete() {
46937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar        return mDelegate.executeUpdateDelete();
47937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    }
48937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
49937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    @Override
50937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    public long executeInsert() {
51937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar        return mDelegate.executeInsert();
52937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    }
53937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
54937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    @Override
55937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    public long simpleQueryForLong() {
56937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar        return mDelegate.simpleQueryForLong();
57937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    }
58937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar
59937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    @Override
60937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    public String simpleQueryForString() {
61937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar        return mDelegate.simpleQueryForString();
62937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar    }
63937a77cef9380b6e03e9e3177a563ddcc4fd1fb5Yigit Boyar}
64