// Path: etc/sample-generated-code/org/jraf/androidcontentprovidergenerator/sample/provider/base/AbstractCursor.java
// @SuppressWarnings({"WeakerAccess", "unused"})
// public abstract class AbstractCursor extends CursorWrapper {
//     private final HashMap<String, Integer> mColumnIndexes;
// 
//     public AbstractCursor(Cursor cursor) {
//         super(cursor);
//         mColumnIndexes = new HashMap<>(cursor.getColumnCount() * 4 / 3, .75f);
//     }
// 
//     public abstract long getId();
// 
//     protected int getCachedColumnIndexOrThrow(String colName) {
//         Integer index = mColumnIndexes.get(colName);
//         if (index == null) {
//             index = getColumnIndexOrThrow(colName);
//             mColumnIndexes.put(colName, index);
//         }
//         return index;
//     }
// 
//     public String getStringOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getString(index);
//     }
// 
//     public Integer getIntegerOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getInt(index);
//     }
// 
//     public Long getLongOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getLong(index);
//     }
// 
//     public Float getFloatOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getFloat(index);
//     }
// 
//     public Double getDoubleOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getDouble(index);
//     }
// 
//     public Boolean getBooleanOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getInt(index) != 0;
//     }
// 
//     public Date getDateOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return new Date(getLong(index));
//     }
// 
//     public byte[] getBlobOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getBlob(index);
//     }
// }


import org.jraf.androidcontentprovidergenerator.sample.provider.base.AbstractCursor;
import java.util.Date;
import android.database.Cursor;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
/*
 * This source is part of the
 *      _____  ___   ____
 *  __ / / _ \/ _ | / __/___  _______ _
 * / // / , _/ __ |/ _/_/ _ \/ __/ _ `/
 * \___/_/|_/_/ |_/_/ (_)___/_/  \_, /
 *                              /___/
 * repository.
 *
 * Copyright (C) 2012-2017 Benoit 'BoD' Lubek (BoD@JRAF.org)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.jraf.androidcontentprovidergenerator.sample.provider.serialnumber;

// @formatter:off



/**
 * Cursor wrapper for the {@code serial_number} table.
 */
@SuppressWarnings({"WeakerAccess", "unused", "UnnecessaryLocalVariable"})
public class SerialNumberCursor extends AbstractCursor implements SerialNumberModel {
    public SerialNumberCursor(Cursor cursor) {
        super(cursor);
    }

    /**
     * Primary key.
     */
    @Override
    public long getId() {
        Long res = getLongOrNull(SerialNumberColumns._ID);
        if (res == null)
            throw new NullPointerException("The value of '_id' in the database was null, which is not allowed according to the model definition");
        return res;
    }

    /**
     * Unique id, first part.
     * Cannot be {@code null}.
     */
    @NonNull
    @Override
    public String getPart0() {
        String res = getStringOrNull(SerialNumberColumns.PART0);
        if (res == null)
// Path: etc/sample-generated-code/org/jraf/androidcontentprovidergenerator/sample/provider/base/AbstractCursor.java
// @SuppressWarnings({"WeakerAccess", "unused"})
// public abstract class AbstractCursor extends CursorWrapper {
//     private final HashMap<String, Integer> mColumnIndexes;
// 
//     public AbstractCursor(Cursor cursor) {
//         super(cursor);
//         mColumnIndexes = new HashMap<>(cursor.getColumnCount() * 4 / 3, .75f);
//     }
// 
//     public abstract long getId();
// 
//     protected int getCachedColumnIndexOrThrow(String colName) {
//         Integer index = mColumnIndexes.get(colName);
//         if (index == null) {
//             index = getColumnIndexOrThrow(colName);
//             mColumnIndexes.put(colName, index);
//         }
//         return index;
//     }
// 
//     public String getStringOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getString(index);
//     }
// 
//     public Integer getIntegerOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getInt(index);
//     }
// 
//     public Long getLongOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getLong(index);
//     }
// 
//     public Float getFloatOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getFloat(index);
//     }
// 
//     public Double getDoubleOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getDouble(index);
//     }
// 
//     public Boolean getBooleanOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getInt(index) != 0;
//     }
// 
//     public Date getDateOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return new Date(getLong(index));
//     }
// 
//     public byte[] getBlobOrNull(String colName) {
//         int index = getCachedColumnIndexOrThrow(colName);
//         if (isNull(index)) return null;
//         return getBlob(index);
//     }
// }


// Path: etc/sample-generated-code/org/jraf/androidcontentprovidergenerator/sample/provider/serialnumber/SerialNumberCursor.java
import org.jraf.androidcontentprovidergenerator.sample.provider.base.AbstractCursor;
import java.util.Date;
import android.database.Cursor;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

/*
 * This source is part of the
 *      _____  ___   ____
 *  __ / / _ \/ _ | / __/___  _______ _
 * / // / , _/ __ |/ _/_/ _ \/ __/ _ `/
 * \___/_/|_/_/ |_/_/ (_)___/_/  \_, /
 *                              /___/
 * repository.
 *
 * Copyright (C) 2012-2017 Benoit 'BoD' Lubek (BoD@JRAF.org)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.jraf.androidcontentprovidergenerator.sample.provider.serialnumber;

// @formatter:off



/**
 * Cursor wrapper for the {@code serial_number} table.
 */
@SuppressWarnings({"WeakerAccess", "unused", "UnnecessaryLocalVariable"})
public class SerialNumberCursor extends AbstractCursor implements SerialNumberModel {
    public SerialNumberCursor(Cursor cursor) {
        super(cursor);
    }

    /**
     * Primary key.
     */
    @Override
    public long getId() {
        Long res = getLongOrNull(SerialNumberColumns._ID);
        if (res == null)
            throw new NullPointerException("The value of '_id' in the database was null, which is not allowed according to the model definition");
        return res;
    }

    /**
     * Unique id, first part.
     * Cannot be {@code null}.
     */
    @NonNull
    @Override
    public String getPart0() {
        String res = getStringOrNull(SerialNumberColumns.PART0);
        if (res == null)
            throw new NullPointerException("The value of 'part0' in the database was null, which is not allowed according to the model definition");