/** * Adds an listener but keeps a weak reference back to it. * <p> * Note that you cannot remove this listener once added. It will be automatically removed * when the listener is GC'ed. * * @param listener The listener to which this Manager will keep a weak reference. */ private void addWeakTableChangeListener(DBToolsTableChangeListener listener, String databaseName) { addTableChangeListener(new DBToolsWeakTableChangeListener(this, listener, databaseName)); }
public void connectAllDatabases() { for (AndroidDatabase database : getDatabases()) { connectDatabase(database.getName()); } }
/** * Adds an listener but keeps a weak reference back to it. * <p> * Note that you cannot remove this listener once added. It will be automatically removed * when the listener is GC'ed. * * @param listener The listener to which this Manager will keep a weak reference. */ private void addWeakTableChangeListener(DBToolsTableChangeListener listener, String databaseName) { addTableChangeListener(new DBToolsWeakTableChangeListener(this, listener, databaseName)); }
public AndroidDatabase(String name, AndroidDatabase attachMainDatabase, List<AndroidDatabase> attachedDatabases) { this.name = name; this.path = attachMainDatabase.getPath(); this.version = attachMainDatabase.getVersion(); this.viewsVersion = attachMainDatabase.getViewsVersion(); this.password = null; this.attached = true; this.attachedMainDatabase = attachMainDatabase; this.attachedDatabases = attachedDatabases; }
public void createMetaTableIfNotExists(@Nonnull AndroidDatabase androidDatabase) { if (!AndroidBaseManager.tableExists(androidDatabase.getDatabaseWrapper(), DBToolsMetaData.TABLE)) { AndroidBaseManager.executeSql(androidDatabase.getDatabaseWrapper(), DBToolsMetaData.CREATE_TABLE); } }
public void detachDatabases(@Nonnull AndroidDatabase db) { for (AndroidDatabase toDb : db.getAttachedDatabases()) { detachDatabase(db, toDb.getName()); } }
@Override public void identifyDatabases(AndroidDatabaseBaseManager databaseManager) { for (AndroidDatabase androidDatabase : androidDatabaseList) { databaseManager.addDatabase(androidDatabase); } }
/** * Returns the last modification long ts * * @return long ts value of the last modification to this table using this manager, or -1 if no modifications have occurred since app launch */ public long getLastTableModifiedTs() { return getLastTableModifiedTs(getDatabaseName()); }
public void shutdownManagerExecutorService(String databaseName) { AndroidDatabase androidDatabase = getDatabase(databaseName); if (androidDatabase != null) { shutdownManagerExecutorService(androidDatabase); } }
/** * Adds an listener but keeps a weak reference back to it. * <p> * Note that you cannot remove this listener once added. It will be automatically removed * when the listener is GC'ed. * * @param listener The listener to which this Manager will keep a weak reference. */ private void addWeakTableChangeListener(DBToolsTableChangeListener listener) { addWeakTableChangeListener(listener, getDatabaseName()); }
public void shutdownAllManagerExecutorServices() { for (AndroidDatabase androidDatabase : getDatabases()) { shutdownManagerExecutorService(androidDatabase); } }
/** * Adds an listener but keeps a weak reference back to it. * <p> * Note that you cannot remove this listener once added. It will be automatically removed * when the listener is GC'ed. * * @param listener The listener to which this Manager will keep a weak reference. */ private void addWeakTableChangeListener(DBToolsTableChangeListener listener) { addWeakTableChangeListener(listener, getDatabaseName()); }
/** * Returns the last modification long ts * * @return long ts value of the last modification to this table using this manager, or -1 if no modifications have occurred since app launch */ public long getLastTableModifiedTs() { return getLastTableModifiedTs(getDatabaseName()); }
/** * Close all databases that were added */ public void closeAll() { for (AndroidDatabase androidDatabase : getDatabaseMap().values()) { androidDatabase.close(); } }
public void endTransaction(@Nonnull String databaseName, boolean success) { AndroidDatabase database = getDatabase(databaseName); if (database != null) { database.endTransaction(success); } }
public void beginTransaction(@Nonnull String databaseName) { AndroidDatabase database = getDatabase(databaseName); if (database != null) { database.beginTransaction(); } }
@NonNull public DatabaseWrapper<? super AndroidBaseRecord, ? super DBToolsContentValues<?>> getReadableDatabase() { return androidDatabaseManager.getReadableDatabase(getDatabaseName()); }
@NonNull public DatabaseWrapper<? super AndroidBaseRecord, ? super DBToolsContentValues<?>> getWritableDatabase() { return androidDatabaseManager.getWritableDatabase(getDatabaseName()); }
/** * If there were any changes to the given row or there are any unknown changes (transaction, mass update/delete) to this table, then return true * @param rowId id of row * @return true if the row may have changed */ public boolean hasChangeForRowId(long rowId) { return hasChange() && (bulkOperation || this.rowId == rowId); } }