
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