Package mil.nga.geopackage.user
Class UserDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
- java.lang.Object
-
- mil.nga.geopackage.user.UserCoreDao<TColumn,TTable,TRow,TResult>
-
- mil.nga.geopackage.user.UserDao<TColumn,TTable,TRow,TResult>
-
- Type Parameters:
TColumn- column typeTTable- table typeTRow- row typeTResult- result type
- Direct Known Subclasses:
AttributesDao,FeatureDao,TileDao,UserCustomDao
public abstract class UserDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>> extends UserCoreDao<TColumn,TTable,TRow,TResult>
Abstract User DAO for reading user tables
-
-
Field Summary
-
Fields inherited from class mil.nga.geopackage.user.UserCoreDao
projection
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedUserDao(String database, GeoPackageConnection db, UserConnection<TColumn,TTable,TRow,TResult> userDb, TTable table)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeginTransaction()voidcommit()voidendTransaction(boolean successful)GeoPackageDatabasegetDatabaseConnection()Get the database connectionGeoPackageConnectiongetDb()longinsert(ContentValues values)Inserts a new rowlonginsert(TRow row)longinsertOrThrow(ContentValues values)Inserts a new rowbooleaninTransaction()booleanisInvalidRequery()Is the invalid requery flag enabled? When enabled (default is true) large invalid user rows are requeried and handled.protected TResultprepareResult(TResult result)TResultquery(UserQuery query)Query using the user query argumentsTResultquery(TResult previousResult)Query using the previous result query argumentsTRowqueryForIdRow(long id)Handles requery of invalid id rowprotected voidrenameTableColumn(String columnName, String newColumnName)Alter Table in SQLite does not support renaming columns until version 3.25.0 Once Android supports column rename alter table statements, this method override can be removed.voidsetInvalidRequery(boolean invalidRequery)Set the invalid requery flag.booleansetUseBindings(boolean useBindings)Set the active SQLite connection as the bindings or standardintupdate(ContentValues values, String whereClause, String[] whereArgs)Update all rows matching the where clause with the provided valuesintupdate(TRow row)-
Methods inherited from class mil.nga.geopackage.user.UserCoreDao
addColumn, alterColumn, alterColumns, buildColumnsAs, buildColumnsAs, buildColumnsAs, buildColumnsAs, buildColumnsAs, buildColumnsAsNull, buildColumnsAsNull, buildLimit, buildValueWhere, buildValueWhereArgs, buildWhere, buildWhere, buildWhere, buildWhere, buildWhereArgs, buildWhereArgs, buildWhereArgs, buildWhereArgs, buildWhereIn, buildWhereInArgs, buildWhereLike, buildWhereLike, columnCount, count, count, count, count, count, count, count, count, countColumn, countColumnIn, countColumnIn, countForEq, countForEq, countForEq, countForEq, countForEq, countForEq, countForEq, countForEq, countForEq, countForFieldValues, countForFieldValues, countForFieldValues, countForLike, countForLike, countForLike, countForLike, countForLike, countForLike, countForLike, countForLike, countForLike, countForValueFieldValues, countForValueFieldValues, countForValueFieldValues, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, countIn, create, createDao, delete, delete, delete, deleteAll, deleteById, dropColumn, dropColumn, dropColumn, dropColumnIndexes, dropColumnNames, dropColumns, dropTable, endAndBeginTransaction, endTransaction, failTransaction, getBoundingBox, getBoundingBox, getColumnNames, getColumns, getContents, getDatabase, getPkWhere, getPkWhereArgs, getProjection, getTable, getTableName, getUserDb, getZoomLevel, isPkModifiable, isValueValidation, max, max, min, min, newRow, projectBoundingBox, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, query, queryAs, queryAs, queryForAll, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForChunk, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForEq, queryForFieldValues, queryForFieldValues, queryForFieldValues, queryForFieldValues, queryForId, queryForId, queryForId, queryForId, queryForIdRow, queryForIdRow, queryForIdRow, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForLike, queryForValueFieldValues, queryForValueFieldValues, queryForValueFieldValues, queryForValueFieldValues, queryIdsSQL, queryIdsSQL, queryIdsSQL, queryIdsSQL, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryIn, queryResults, queryResults, queryResults, queryResults, querySingleColumnResults, querySingleColumnResults, querySingleColumnResults, querySingleColumnResults, querySingleColumnResults, querySingleColumnResults, querySingleColumnTypedResults, querySingleColumnTypedResults, querySingleColumnTypedResults, querySingleColumnTypedResults, querySingleColumnTypedResults, querySingleColumnTypedResults, querySingleResult, querySingleResult, querySingleResult, querySingleResult, querySingleRowResults, querySingleRowResults, querySingleRowTypedResults, querySingleRowTypedResults, querySingleTypedResult, querySingleTypedResult, querySingleTypedResult, querySingleTypedResult, querySQL, querySQL, querySQL, querySQL, querySQL, querySQL, querySQL, querySQL, queryTypedResults, queryTypedResults, queryTypedResults, queryTypedResults, rawQuery, rawQuery, renameColumn, renameColumn, renameColumn, setPkModifiable, setValueValidation
-
-
-
-
Constructor Detail
-
UserDao
protected UserDao(String database, GeoPackageConnection db, UserConnection<TColumn,TTable,TRow,TResult> userDb, TTable table)
Constructor- Parameters:
database- database namedb- GeoPackage connectionuserDb- user connectiontable- table
-
-
Method Detail
-
getDb
public GeoPackageConnection getDb()
-
getDatabaseConnection
public GeoPackageDatabase getDatabaseConnection()
Get the database connection- Returns:
- database
- Since:
- 1.3.1
-
setUseBindings
public boolean setUseBindings(boolean useBindings)
Set the active SQLite connection as the bindings or standard- Parameters:
useBindings- true to use bindings connection, false for standard- Returns:
- previous bindings value
- Since:
- 3.4.0
-
isInvalidRequery
public boolean isInvalidRequery()
Is the invalid requery flag enabled? When enabled (default is true) large invalid user rows are requeried and handled.- Returns:
- invalid requery flag
- Since:
- 2.0.0
-
setInvalidRequery
public void setInvalidRequery(boolean invalidRequery)
Set the invalid requery flag. When enabled (default is true) large invalid user rows are requeried and handled.- Parameters:
invalidRequery- invalid requery flag- Since:
- 2.0.0
-
prepareResult
protected TResult prepareResult(TResult result)
- Specified by:
prepareResultin classUserCoreDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
-
beginTransaction
public void beginTransaction()
- Specified by:
beginTransactionin classUserCoreDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
-
endTransaction
public void endTransaction(boolean successful)
- Specified by:
endTransactionin classUserCoreDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
-
commit
public void commit()
-
inTransaction
public boolean inTransaction()
- Specified by:
inTransactionin classUserCoreDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
-
queryForIdRow
public TRow queryForIdRow(long id)
Handles requery of invalid id row- Overrides:
queryForIdRowin classUserCoreDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
-
query
public TResult query(TResult previousResult)
Query using the previous result query arguments- Parameters:
previousResult- previous result- Returns:
- result
- Since:
- 2.0.0
-
query
public TResult query(UserQuery query)
Query using the user query arguments- Parameters:
query- user query- Returns:
- result
- Since:
- 2.0.0
-
update
public int update(TRow row)
-
update
public int update(ContentValues values, String whereClause, String[] whereArgs)
Update all rows matching the where clause with the provided values- Parameters:
values- content valueswhereClause- where clausewhereArgs- where arguments- Returns:
- updated rows
-
insert
public long insert(TRow row)
-
insert
public long insert(ContentValues values)
Inserts a new row- Parameters:
values- content values- Returns:
- row id, -1 on error
-
insertOrThrow
public long insertOrThrow(ContentValues values)
Inserts a new row- Parameters:
values- content values- Returns:
- row id
-
renameTableColumn
protected void renameTableColumn(String columnName, String newColumnName)
Alter Table in SQLite does not support renaming columns until version 3.25.0 Once Android supports column rename alter table statements, this method override can be removed.- Overrides:
renameTableColumnin classUserCoreDao<TColumn extends UserColumn,TTable extends UserTable<TColumn>,TRow extends UserRow<TColumn,TTable>,TResult extends UserCursor<TColumn,TTable,TRow>>
-
-