Package com.batch.android.user
Class SQLUserDatasource
- java.lang.Object
-
- com.batch.android.user.SQLUserDatasource
-
- All Implemented Interfaces:
UserDatasource
public final class SQLUserDatasource extends java.lang.Object implements UserDatasource
User data (attributes) datasource. Wraps SQLite queries (DAO).This class is NOT thread or context safe at all. You must make sure it is ALWAYS acessed using its singleton, and that all of the calls happen on a single thread.
-
-
Constructor Summary
Constructors Constructor Description SQLUserDatasource(android.content.Context context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacquireTransactionLock(long changeset)Acquires a transaction for a changeset.voidaddTag(java.lang.String collection, java.lang.String tag)voidclear()Clear everything.voidclearAttributes()voidclearTags()voidclearTags(java.lang.String collection)voidclose()voidcommitTransaction()Commits the transaction, releasing the transaction lockjava.util.HashMap<java.lang.String,UserAttribute>getAttributes()java.util.Map<java.lang.String,java.util.Set<java.lang.String>>getTagCollections()java.lang.StringprintDebugDump()voidremoveAttribute(java.lang.String key)voidremoveTag(java.lang.String collection, java.lang.String tag)voidrollbackTransaction()voidsetAttribute(java.lang.String key, boolean attribute)voidsetAttribute(java.lang.String key, double attribute)voidsetAttribute(java.lang.String key, long attribute)voidsetAttribute(java.lang.String key, java.lang.String attribute)voidsetAttribute(java.lang.String key, java.net.URI attribute)voidsetAttribute(java.lang.String key, java.util.Date attribute)
-
-
-
Method Detail
-
close
public void close()
- Specified by:
closein interfaceUserDatasource
-
acquireTransactionLock
public void acquireTransactionLock(long changeset) throws UserDatabaseExceptionAcquires a transaction for a changeset. Needed before doing other changes.- Specified by:
acquireTransactionLockin interfaceUserDatasource- Parameters:
changeset- Changeset for modifications- Throws:
UserDatabaseException
-
commitTransaction
public void commitTransaction() throws UserDatabaseExceptionCommits the transaction, releasing the transaction lock- Specified by:
commitTransactionin interfaceUserDatasource- Throws:
UserDatabaseException
-
rollbackTransaction
public void rollbackTransaction() throws UserDatabaseException- Specified by:
rollbackTransactionin interfaceUserDatasource- Throws:
UserDatabaseException
-
setAttribute
public void setAttribute(@NonNull java.lang.String key, long attribute) throws UserDatabaseException- Specified by:
setAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
setAttribute
public void setAttribute(@NonNull java.lang.String key, double attribute) throws UserDatabaseException- Specified by:
setAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
setAttribute
public void setAttribute(@NonNull java.lang.String key, boolean attribute) throws UserDatabaseException- Specified by:
setAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
setAttribute
public void setAttribute(@NonNull java.lang.String key, @NonNull java.lang.String attribute) throws UserDatabaseException- Specified by:
setAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
setAttribute
public void setAttribute(@NonNull java.lang.String key, @NonNull java.util.Date attribute) throws UserDatabaseException- Specified by:
setAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
setAttribute
public void setAttribute(@NonNull java.lang.String key, @NonNull java.net.URI attribute) throws UserDatabaseException- Specified by:
setAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
removeAttribute
public void removeAttribute(@NonNull java.lang.String key) throws UserDatabaseException- Specified by:
removeAttributein interfaceUserDatasource- Throws:
UserDatabaseException
-
addTag
public void addTag(@NonNull java.lang.String collection, @NonNull java.lang.String tag) throws UserDatabaseException- Specified by:
addTagin interfaceUserDatasource- Throws:
UserDatabaseException
-
removeTag
public void removeTag(@NonNull java.lang.String collection, @NonNull java.lang.String tag) throws UserDatabaseException- Specified by:
removeTagin interfaceUserDatasource- Throws:
UserDatabaseException
-
clear
public void clear()
Clear everything. Not meant to be used during a transaction!- Specified by:
clearin interfaceUserDatasource
-
clearTags
public void clearTags()
- Specified by:
clearTagsin interfaceUserDatasource
-
clearTags
public void clearTags(java.lang.String collection)
- Specified by:
clearTagsin interfaceUserDatasource
-
clearAttributes
public void clearAttributes()
- Specified by:
clearAttributesin interfaceUserDatasource
-
getTagCollections
@NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getTagCollections()
- Specified by:
getTagCollectionsin interfaceUserDatasource
-
getAttributes
@NonNull public java.util.HashMap<java.lang.String,UserAttribute> getAttributes()
- Specified by:
getAttributesin interfaceUserDatasource
-
printDebugDump
public java.lang.String printDebugDump()
- Specified by:
printDebugDumpin interfaceUserDatasource
-
-