blob: c9cafafe40416b1054aa613192a2f47d4f6744cf [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001/*
2 * Copyright (C) 2006 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
17package android.database;
18
Mathew Inwood41b31942018-08-10 16:00:53 +010019import android.annotation.UnsupportedAppUsage;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080020import android.content.ContentResolver;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080021import android.net.Uri;
22import android.os.Bundle;
23
Sudheer Shankaa07b0522019-01-26 10:40:42 -080024import java.util.List;
25
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080026/**
Andrew Stadler46baf532010-06-21 10:23:46 -070027 * Wrapper class for Cursor that delegates all calls to the actual cursor object. The primary
28 * use for this class is to extend a cursor while overriding only a subset of its methods.
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080029 */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080030public class CursorWrapper implements Cursor {
Jeff Brown825c5132011-10-12 16:11:30 -070031 /** @hide */
Mathew Inwood41b31942018-08-10 16:00:53 +010032 @UnsupportedAppUsage
Jeff Brown825c5132011-10-12 16:11:30 -070033 protected final Cursor mCursor;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080034
Jeff Brown825c5132011-10-12 16:11:30 -070035 /**
36 * Creates a cursor wrapper.
37 * @param cursor The underlying cursor to wrap.
38 */
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080039 public CursorWrapper(Cursor cursor) {
40 mCursor = cursor;
41 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080042
Andrew Stadler46baf532010-06-21 10:23:46 -070043 /**
Jeff Brown7ce74522011-10-07 13:29:37 -070044 * Gets the underlying cursor that is wrapped by this instance.
45 *
46 * @return The wrapped cursor.
Andrew Stadler46baf532010-06-21 10:23:46 -070047 */
48 public Cursor getWrappedCursor() {
49 return mCursor;
50 }
51
Jeff Brown4e0951e2015-04-09 18:28:24 -070052 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080053 public void close() {
54 mCursor.close();
55 }
56
Jeff Brown4e0951e2015-04-09 18:28:24 -070057 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080058 public boolean isClosed() {
59 return mCursor.isClosed();
60 }
61
Jeff Brown4e0951e2015-04-09 18:28:24 -070062 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080063 public int getCount() {
64 return mCursor.getCount();
65 }
66
Jeff Brown4e0951e2015-04-09 18:28:24 -070067 @Override
68 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080069 public void deactivate() {
70 mCursor.deactivate();
71 }
72
Jeff Brown4e0951e2015-04-09 18:28:24 -070073 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080074 public boolean moveToFirst() {
75 return mCursor.moveToFirst();
76 }
77
Jeff Brown4e0951e2015-04-09 18:28:24 -070078 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080079 public int getColumnCount() {
80 return mCursor.getColumnCount();
81 }
82
Jeff Brown4e0951e2015-04-09 18:28:24 -070083 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080084 public int getColumnIndex(String columnName) {
85 return mCursor.getColumnIndex(columnName);
86 }
87
Jeff Brown4e0951e2015-04-09 18:28:24 -070088 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080089 public int getColumnIndexOrThrow(String columnName)
90 throws IllegalArgumentException {
91 return mCursor.getColumnIndexOrThrow(columnName);
92 }
93
Jeff Brown4e0951e2015-04-09 18:28:24 -070094 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080095 public String getColumnName(int columnIndex) {
96 return mCursor.getColumnName(columnIndex);
97 }
98
Jeff Brown4e0951e2015-04-09 18:28:24 -070099 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800100 public String[] getColumnNames() {
101 return mCursor.getColumnNames();
102 }
103
Jeff Brown4e0951e2015-04-09 18:28:24 -0700104 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800105 public double getDouble(int columnIndex) {
106 return mCursor.getDouble(columnIndex);
107 }
108
Jeff Brown4e0951e2015-04-09 18:28:24 -0700109 @Override
110 public void setExtras(Bundle extras) {
111 mCursor.setExtras(extras);
112 }
113
114 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800115 public Bundle getExtras() {
116 return mCursor.getExtras();
117 }
118
Jeff Brown4e0951e2015-04-09 18:28:24 -0700119 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800120 public float getFloat(int columnIndex) {
121 return mCursor.getFloat(columnIndex);
122 }
123
Jeff Brown4e0951e2015-04-09 18:28:24 -0700124 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800125 public int getInt(int columnIndex) {
126 return mCursor.getInt(columnIndex);
127 }
128
Jeff Brown4e0951e2015-04-09 18:28:24 -0700129 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800130 public long getLong(int columnIndex) {
131 return mCursor.getLong(columnIndex);
132 }
133
Jeff Brown4e0951e2015-04-09 18:28:24 -0700134 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800135 public short getShort(int columnIndex) {
136 return mCursor.getShort(columnIndex);
137 }
138
Jeff Brown4e0951e2015-04-09 18:28:24 -0700139 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800140 public String getString(int columnIndex) {
141 return mCursor.getString(columnIndex);
142 }
143
Jeff Brown4e0951e2015-04-09 18:28:24 -0700144 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800145 public void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) {
146 mCursor.copyStringToBuffer(columnIndex, buffer);
147 }
148
Jeff Brown4e0951e2015-04-09 18:28:24 -0700149 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800150 public byte[] getBlob(int columnIndex) {
151 return mCursor.getBlob(columnIndex);
152 }
153
Jeff Brown4e0951e2015-04-09 18:28:24 -0700154 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800155 public boolean getWantsAllOnMoveCalls() {
156 return mCursor.getWantsAllOnMoveCalls();
157 }
158
Jeff Brown4e0951e2015-04-09 18:28:24 -0700159 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800160 public boolean isAfterLast() {
161 return mCursor.isAfterLast();
162 }
163
Jeff Brown4e0951e2015-04-09 18:28:24 -0700164 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800165 public boolean isBeforeFirst() {
166 return mCursor.isBeforeFirst();
167 }
168
Jeff Brown4e0951e2015-04-09 18:28:24 -0700169 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800170 public boolean isFirst() {
171 return mCursor.isFirst();
172 }
173
Jeff Brown4e0951e2015-04-09 18:28:24 -0700174 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800175 public boolean isLast() {
176 return mCursor.isLast();
177 }
178
Jeff Brown4e0951e2015-04-09 18:28:24 -0700179 @Override
Vasu Nori8b0dd7d2010-05-18 11:54:31 -0700180 public int getType(int columnIndex) {
181 return mCursor.getType(columnIndex);
182 }
183
Jeff Brown4e0951e2015-04-09 18:28:24 -0700184 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800185 public boolean isNull(int columnIndex) {
186 return mCursor.isNull(columnIndex);
187 }
188
Jeff Brown4e0951e2015-04-09 18:28:24 -0700189 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800190 public boolean moveToLast() {
191 return mCursor.moveToLast();
192 }
193
Jeff Brown4e0951e2015-04-09 18:28:24 -0700194 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800195 public boolean move(int offset) {
196 return mCursor.move(offset);
197 }
198
Jeff Brown4e0951e2015-04-09 18:28:24 -0700199 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800200 public boolean moveToPosition(int position) {
201 return mCursor.moveToPosition(position);
202 }
203
Jeff Brown4e0951e2015-04-09 18:28:24 -0700204 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800205 public boolean moveToNext() {
206 return mCursor.moveToNext();
207 }
208
Jeff Brown4e0951e2015-04-09 18:28:24 -0700209 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800210 public int getPosition() {
211 return mCursor.getPosition();
212 }
213
Jeff Brown4e0951e2015-04-09 18:28:24 -0700214 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800215 public boolean moveToPrevious() {
216 return mCursor.moveToPrevious();
217 }
218
Jeff Brown4e0951e2015-04-09 18:28:24 -0700219 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800220 public void registerContentObserver(ContentObserver observer) {
Jeff Brown4e0951e2015-04-09 18:28:24 -0700221 mCursor.registerContentObserver(observer);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800222 }
223
Jeff Brown4e0951e2015-04-09 18:28:24 -0700224 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800225 public void registerDataSetObserver(DataSetObserver observer) {
Jeff Brown4e0951e2015-04-09 18:28:24 -0700226 mCursor.registerDataSetObserver(observer);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800227 }
228
Jeff Brown4e0951e2015-04-09 18:28:24 -0700229 @Override
230 @Deprecated
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800231 public boolean requery() {
232 return mCursor.requery();
233 }
234
Jeff Brown4e0951e2015-04-09 18:28:24 -0700235 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800236 public Bundle respond(Bundle extras) {
237 return mCursor.respond(extras);
238 }
239
Jeff Brown4e0951e2015-04-09 18:28:24 -0700240 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800241 public void setNotificationUri(ContentResolver cr, Uri uri) {
Jeff Brown4e0951e2015-04-09 18:28:24 -0700242 mCursor.setNotificationUri(cr, uri);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800243 }
244
Jeff Brown4e0951e2015-04-09 18:28:24 -0700245 @Override
Sudheer Shankaa07b0522019-01-26 10:40:42 -0800246 public void setNotificationUris(ContentResolver cr, List<Uri> uris) {
247 mCursor.setNotificationUris(cr, uris);
248 }
249
250 @Override
Dianne Hackbornc87c92e2013-05-14 13:44:29 -0700251 public Uri getNotificationUri() {
252 return mCursor.getNotificationUri();
253 }
254
Jeff Brown4e0951e2015-04-09 18:28:24 -0700255 @Override
Sudheer Shankaa07b0522019-01-26 10:40:42 -0800256 public List<Uri> getNotificationUris() {
257 return mCursor.getNotificationUris();
258 }
259
260 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800261 public void unregisterContentObserver(ContentObserver observer) {
Jeff Brown4e0951e2015-04-09 18:28:24 -0700262 mCursor.unregisterContentObserver(observer);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800263 }
264
Jeff Brown4e0951e2015-04-09 18:28:24 -0700265 @Override
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800266 public void unregisterDataSetObserver(DataSetObserver observer) {
267 mCursor.unregisterDataSetObserver(observer);
268 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800269}
270