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

com.codeslap.persistence.QuickSqlAdapter Maven / Gradle / Ivy

/*
 * Copyright 2012 CodeSlap
 *
 * 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 com.codeslap.persistence;

import android.content.Context;

import java.util.List;

class QuickSqlAdapter implements SqlAdapter {

    private final Context mContext;
    private final String mDbName;

    QuickSqlAdapter(Context context, String dbName) {
        mContext = context;
        mDbName = dbName;
    }

    @Override
    public  Object store(T object) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        Object id = adapter.store(object);
        try {
            adapter.close();
        } catch (Exception e) {
        }
        return id;
    }

    @Override
    public  Object store(T object, G attachedTo) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        Object id = adapter.store(object, attachedTo);
        try {
            adapter.close();
        } catch (Exception e) {
        }
        return id;
    }

    @Override
    public  void storeCollection(List collection, ProgressListener listener) {
        storeCollection(collection, null, listener);
    }

    @Override
    public  void storeCollection(List collection, G attachedTo, ProgressListener listener) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        adapter.storeCollection(collection, attachedTo, listener);
        adapter.close();
    }

    @Override
    public  void storeUniqueCollection(List collection, ProgressListener listener) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        adapter.storeUniqueCollection(collection, listener);
        adapter.close();
    }

    @Override
    public  int update(T object, T where) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int count = adapter.update(object, where);
        adapter.close();
        return count;
    }

    @Override
    public  int update(T object, String where, String[] whereArgs) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int count = adapter.update(object, where, whereArgs);
        adapter.close();
        return count;
    }

    @Override
    public  T findFirst(T where) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        T result = adapter.findFirst(where);
        adapter.close();
        return result;
    }

    @Override
    public  T findFirst(Class clazz, String where, String[] whereArgs) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        T result = adapter.findFirst(clazz, where, whereArgs);
        adapter.close();
        return result;
    }

    @Override
    public  List findAll(Class clazz) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        List feeds = adapter.findAll(clazz);
        adapter.close();
        return feeds;
    }

    @Override
    public  List findAll(T where) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        List feeds = adapter.findAll(where);
        adapter.close();
        return feeds;
    }

    @Override
    public  List findAll(T where, Constraint constraint) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        List feeds = adapter.findAll(where, constraint);
        adapter.close();
        return feeds;
    }

    @Override
    public  List findAll(T where, G attachedTo) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        List feeds = adapter.findAll(where, attachedTo);
        adapter.close();
        return feeds;
    }

    @Override
    public  List findAll(Class clazz, String where, String[] whereArgs) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        List feeds = adapter.findAll(clazz, where, whereArgs);
        adapter.close();
        return feeds;
    }

    @Override
    public  int delete(T where) {
        return delete(where, false);
    }

    @Override
    public  int delete(T where, boolean onCascade) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int delete = adapter.delete(where, onCascade);
        adapter.close();
        return delete;
    }

    @Override
    public  int delete(Class clazz, String where, String[] whereArgs) {
        return delete(clazz, where, whereArgs, false);
    }

    @Override
    public  int delete(Class theClass, String where, String[] whereArgs, boolean onCascade) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int delete = adapter.delete(theClass, where, whereArgs, onCascade);
        adapter.close();
        return delete;
    }

    @Override
    public void truncate(Class... classes) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        adapter.truncate(classes);
        adapter.close();
    }

    @Override
    public  int count(T where) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int count = adapter.count(where);
        adapter.close();
        return count;
    }

    @Override
    public  int count(Class clazz, String where, String[] whereArgs) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int count = adapter.count(clazz, where, whereArgs);
        adapter.close();
        return count;
    }

    @Override
    public  int count(Class clazz) {
        SqlAdapter adapter = Persistence.getSqliteAdapter(mContext, mDbName);
        int count = adapter.count(clazz);
        adapter.close();
        return count;
    }

    @Override
    public void close() {
        throw new UnsupportedOperationException("QuickSqlAdapter does not have an implementation of this method");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy