All Downloads are FREE. Search and download functionalities are using the official Maven repository.

android.database.CrossProcessCursor Maven / Gradle / Ivy

Go to download

A library jar that provides APIs for Applications written for the Google Android Platform.

There is a newer version: 14-robolectric-10818077
Show newest version
/*
 * Copyright (C) 2008 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.database;

/**
 * A cross process cursor is an extension of a {@link Cursor} that also supports
 * usage from remote processes.
 * 

* The contents of a cross process cursor are marshalled to the remote process by * filling {@link CursorWindow} objects using {@link #fillWindow}. As an optimization, * the cursor can provide a pre-filled window to use via {@link #getWindow} thereby * obviating the need to copy the data to yet another cursor window. */ public interface CrossProcessCursor extends Cursor { /** * Returns a pre-filled window that contains the data within this cursor. *

* In particular, the window contains the row indicated by {@link Cursor#getPosition}. * The window's contents are automatically scrolled whenever the current * row moved outside the range covered by the window. *

* * @return The pre-filled window, or null if none. */ CursorWindow getWindow(); /** * Copies cursor data into the window. *

* Clears the window and fills it with data beginning at the requested * row position until all of the data in the cursor is exhausted * or the window runs out of space. *

* The filled window uses the same row indices as the original cursor. * For example, if you fill a window starting from row 5 from the cursor, * you can query the contents of row 5 from the window just by asking it * for row 5 because there is a direct correspondence between the row indices * used by the cursor and the window. *

* The current position of the cursor, as returned by {@link #getPosition}, * is not changed by this method. *

* * @param position The zero-based index of the first row to copy into the window. * @param window The window to fill. */ void fillWindow(int position, CursorWindow window); /** * This function is called every time the cursor is successfully scrolled * to a new position, giving the subclass a chance to update any state it * may have. If it returns false the move function will also do so and the * cursor will scroll to the beforeFirst position. *

* This function should be called by methods such as {@link #moveToPosition(int)}, * so it will typically not be called from outside of the cursor class itself. *

* * @param oldPosition The position that we're moving from. * @param newPosition The position that we're moving to. * @return True if the move is successful, false otherwise. */ boolean onMove(int oldPosition, int newPosition); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy