public abstract class

CursorMapper

extends java.lang.Object

 java.lang.Object

↳androidx.leanback.database.CursorMapper

Gradle dependencies

compile group: 'androidx.leanback', name: 'leanback', version: '1.2.0-alpha02'

  • groupId: androidx.leanback
  • artifactId: leanback
  • version: 1.2.0-alpha02

Artifact androidx.leanback:leanback:1.2.0-alpha02 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.leanback:leanback com.android.support:leanback-v17

Androidx class mapping:

androidx.leanback.database.CursorMapper android.support.v17.leanback.database.CursorMapper

Overview

Abstract class used to convert the current row to a single object.

Summary

Constructors
publicCursorMapper()

Methods
protected abstract java.lang.Objectbind(Cursor cursor)

A subclass should implement this method to create a single object using binding information.

protected abstract voidbindColumns(Cursor cursor)

Called once when the associated is changed.

public java.lang.Objectconvert(Cursor cursor)

Convert a at its current position to an Object.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public CursorMapper()

Methods

protected abstract void bindColumns(Cursor cursor)

Called once when the associated is changed. A subclass should bind column indexes to column names in this method. This method is not intended to be called outside of CursorMapper.

protected abstract java.lang.Object bind(Cursor cursor)

A subclass should implement this method to create a single object using binding information. This method is not intended to be called outside of CursorMapper.

public java.lang.Object convert(Cursor cursor)

Convert a at its current position to an Object.

Source

/*
 * Copyright (C) 2014 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 androidx.leanback.database;

import android.database.Cursor;

/**
 * Abstract class used to convert the current {@link Cursor} row to a single
 * object.
 */
public abstract class CursorMapper {

    private Cursor mCursor;

    /**
     * Called once when the associated {@link Cursor} is changed. A subclass
     * should bind column indexes to column names in this method. This method is
     * not intended to be called outside of CursorMapper.
     */
    protected abstract void bindColumns(Cursor cursor);

    /**
     * A subclass should implement this method to create a single object using
     * binding information. This method is not intended to be called
     * outside of CursorMapper.
     */
    protected abstract Object bind(Cursor cursor);

    /**
     * Convert a {@link Cursor} at its current position to an Object.
     */
    public Object convert(Cursor cursor) {
        if (cursor != mCursor) {
            mCursor = cursor;
            bindColumns(mCursor);
        }
        return bind(mCursor);
    }
}