Android Open Source - droidkit-engines List Engine Table Statements






From Project

Back to project page droidkit-engines.

License

The source code is released under:

MIT License

If you think the Android project droidkit-engines listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.droidkit.engine.list.sqlite.internal;
//from  w  w w.j  ava  2s .c om

import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteStatement;

import com.droidkit.engine._internal.sqlite.SqlStatements;

public class ListEngineTableStatements implements SqlStatements {
    private final SQLiteDatabase db;
    private final String tablename;

    private SQLiteStatement insertStatement;
    private SQLiteStatement insertOrReplaceStatement;
    private SQLiteStatement updateStatement;
    private SQLiteStatement deleteStatement;

    private String nextSliceStatementAsc;
    private String nextSliceStatementDesc;
    private String getByIdStatement;
    private String allStatement;

    public ListEngineTableStatements(SQLiteDatabase db, String tablename) {
        this.db = db;
        this.tablename = tablename;
    }

    public SQLiteStatement getInsertStatement() {
        if (insertStatement == null) {
            String sql = String.format("INSERT INTO '%s' (LIST_ID,ID,SORT_KEY,BYTES) VALUES (?,?,?,?)", tablename);
            insertStatement = db.compileStatement(sql);
        }
        return insertStatement;
    }

    public SQLiteStatement getInsertOrReplaceStatement() {
        if (insertOrReplaceStatement == null) {
            String sql = String.format("INSERT OR REPLACE INTO '%s' (LIST_ID,ID,SORT_KEY,BYTES) VALUES (?,?,?,?)", tablename);
            insertOrReplaceStatement = db.compileStatement(sql);
        }
        return insertOrReplaceStatement;
    }

    public SQLiteStatement getDeleteStatement() {
        if (deleteStatement == null) {
            String sql = String.format("DELETE FROM '%s' WHERE '%s'.LIST_ID=? AND '%s'.ID=?", tablename, tablename, tablename);
            deleteStatement = db.compileStatement(sql);
        }
        return deleteStatement;
    }

    public String getNextSliceStatement(boolean asc) {
        String statement;
        if(asc) {
            statement = nextSliceStatementAsc;
        } else {
            statement = nextSliceStatementDesc;
        }

        if (statement == null) {
            statement = String.format("SELECT * FROM '%s' WHERE LIST_ID=? ORDER BY SORT_KEY %s LIMIT ? OFFSET ?", tablename, (asc ? "ASC" : "DESC"));
            if(asc) {
                nextSliceStatementAsc = statement;
            } else {
                nextSliceStatementDesc = statement;
            }
        }
        return statement;
    }

    public String getGetByIdStatement() {
        if(getByIdStatement == null) {
            getByIdStatement = String.format("SELECT * FROM '%s' WHERE LIST_ID=? AND ID=?", tablename);
        }
        return getByIdStatement;
    }

    public String getAllStatement() {
        if(allStatement == null) {
            allStatement = String.format("SELECT * FROM '%s' WHERE LIST_ID=?", tablename);
        }
        return allStatement;
    }
}




Java Source Code List

com.droidkit.engine.Engines.java
com.droidkit.engine.common.KeyCallback.java
com.droidkit.engine.common.ValueCallback.java
com.droidkit.engine.common.ValuesCallback.java
com.droidkit.engine.event.Events.java
com.droidkit.engine.event.NotificationCenter.java
com.droidkit.engine.event.NotificationListener.java
com.droidkit.engine.event.StateInitValue.java
com.droidkit.engine.event.State.java
com.droidkit.engine._internal.RunnableActor.java
com.droidkit.engine._internal.sqlite.AbstractDao.java
com.droidkit.engine._internal.sqlite.BinarySerializator.java
com.droidkit.engine._internal.sqlite.DbHelper.java
com.droidkit.engine._internal.sqlite.DbProvider.java
com.droidkit.engine._internal.sqlite.FastCursor.java
com.droidkit.engine._internal.sqlite.SqlStatements.java
com.droidkit.engine._internal.util.SortedArrayList.java
com.droidkit.engine._internal.util.Utils.java
com.droidkit.engine._internal.util.WeakEqualReference.java
com.droidkit.engine.keyvalue.DataAdapter.java
com.droidkit.engine.keyvalue.KeyValueEngine.java
com.droidkit.engine.keyvalue.StorageAdapter.java
com.droidkit.engine.keyvalue.sqlite.SQLiteStorageAdapter.java
com.droidkit.engine.keyvalue.sqlite.internal.KeyValueEngineDao.java
com.droidkit.engine.keyvalue.sqlite.internal.KeyValueEngineTableStatements.java
com.droidkit.engine.list.DataAdapter.java
com.droidkit.engine.list.ListEngine.java
com.droidkit.engine.list.StorageAdapter.java
com.droidkit.engine.list.sqlite.SQLiteMultipleStorageAdapter.java
com.droidkit.engine.list.sqlite.SQLiteStorageAdapter.java
com.droidkit.engine.list.sqlite.internal.ListEngineDao.java
com.droidkit.engine.list.sqlite.internal.ListEngineTableStatements.java
com.droidkit.sample.ActivityHelper.java
com.droidkit.sample.BaseActivity.java
com.droidkit.sample.TestMainActivity.java
com.droidkit.sample.listenginetest.TestListEngineActivity.java
com.droidkit.sample.listenginetest.TestProto.java
com.droidkit.sample.view.BlockingListView.java