public abstract class GeoPackageCoreConnection extends Object implements Closeable
| Modifier and Type | Field and Description |
|---|---|
protected ConnectionSource |
connectionSource
Connection source
|
| Modifier | Constructor and Description |
|---|---|
protected |
GeoPackageCoreConnection(ConnectionSource connectionSource)
Constructor
|
protected |
GeoPackageCoreConnection(GeoPackageCoreConnection connection)
Copy Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
addColumn(String tableName,
String columnName,
String columnDef)
Add a new column to the table
|
<T> T |
aggregateFunction(String function,
String table,
boolean distinct,
String column)
Execute an aggregate function
|
<T> T |
aggregateFunction(String function,
String table,
boolean distinct,
String column,
String where,
String[] args)
Execute an aggregate function
|
<T> T |
aggregateFunction(String function,
String table,
String column)
Execute an aggregate function
|
<T> T |
aggregateFunction(String function,
String table,
String column,
String where,
String[] args)
Execute an aggregate function
|
abstract void |
beginTransaction()
Begin a transaction
|
void |
close() |
boolean |
columnExists(String tableName,
String columnName)
Check if the table column exists
|
abstract void |
commit()
Commit changes on the connection
|
int |
count(String table)
Get a count of results
|
int |
count(String table,
boolean distinct,
String column)
Get a count of results
|
int |
count(String table,
boolean distinct,
String column,
String where,
String[] args)
Get a count of results
|
int |
count(String table,
String column)
Get a count of results
|
int |
count(String table,
String where,
String[] args)
Get a count of results
|
int |
count(String table,
String column,
String where,
String[] args)
Get a count of results
|
abstract int |
delete(String table,
String whereClause,
String[] whereArgs)
Convenience method for deleting rows in the database.
|
boolean |
enableForeignKeys()
If foreign keys is disabled and there are no foreign key violations,
enables foreign key checks, else logs violations
|
void |
endAndBeginTransaction()
End a transaction as successful and begin a new transaction
|
void |
endTransaction()
End a transaction successfully
|
abstract void |
endTransaction(boolean successful)
End a transaction
|
abstract void |
execSQL(String sql)
Execute the sql
|
void |
failTransaction()
Fail a transaction
|
List<List<Object>> |
foreignKeyCheck()
Perform a foreign key check
|
List<List<Object>> |
foreignKeyCheck(String tableName)
Perform a foreign key check
|
boolean |
foreignKeys()
Query for the foreign keys value
|
boolean |
foreignKeys(boolean on)
Change the foreign keys state
|
String |
getApplicationId()
Get the application id
|
static String |
getApplicationId(Integer applicationId)
Get the application id string value for the application id integer
|
String |
getApplicationIdHex()
Get the application id as a hex string prefixed with 0x
|
Integer |
getApplicationIdInteger()
Get the application id integer
|
ConnectionSource |
getConnectionSource()
Get a connection source
|
Integer |
getUserVersion()
Get the user version
|
Integer |
getUserVersionMajor()
Get the user version major
|
Integer |
getUserVersionMinor()
Get the user version minor
|
Integer |
getUserVersionPatch()
Get the user version patch
|
abstract boolean |
inTransaction()
Determine if currently within a transaction
|
<T> T |
max(String table,
String column)
Get the max result of the column
|
<T> T |
max(String table,
String column,
String where,
String[] args)
Get the max result of the column
|
<T> T |
min(String table,
String column)
Get the min result of the column
|
<T> T |
min(String table,
String column,
String where,
String[] args)
Get the min result of the column
|
List<List<Object>> |
queryResults(String sql,
String[] args)
Query for values
|
List<List<Object>> |
queryResults(String sql,
String[] args,
GeoPackageDataType[] dataTypes)
Query for values
|
abstract List<List<Object>> |
queryResults(String sql,
String[] args,
GeoPackageDataType[] dataTypes,
Integer limit)
Query for values up to the limit
|
List<List<Object>> |
queryResults(String sql,
String[] args,
Integer limit)
Query for values
|
List<Object> |
querySingleColumnResults(String sql,
String[] args)
Query for values from the first column
|
List<Object> |
querySingleColumnResults(String sql,
String[] args,
GeoPackageDataType dataType)
Query for values from the first column
|
List<Object> |
querySingleColumnResults(String sql,
String[] args,
int column)
Query for values from a single column
|
List<Object> |
querySingleColumnResults(String sql,
String[] args,
int column,
GeoPackageDataType dataType)
Query for values from a single column
|
abstract List<Object> |
querySingleColumnResults(String sql,
String[] args,
int column,
GeoPackageDataType dataType,
Integer limit)
Query for values from a single column up to the limit
|
List<Object> |
querySingleColumnResults(String sql,
String[] args,
int column,
Integer limit)
Query for values from a single column up to the limit
|
<T> List<T> |
querySingleColumnTypedResults(String sql,
String[] args)
Query for values from the first column
|
<T> List<T> |
querySingleColumnTypedResults(String sql,
String[] args,
GeoPackageDataType dataType)
Query for typed values from the first column
|
<T> List<T> |
querySingleColumnTypedResults(String sql,
String[] args,
int column)
Query for typed values from a single column
|
<T> List<T> |
querySingleColumnTypedResults(String sql,
String[] args,
int column,
GeoPackageDataType dataType)
Query for typed values from a single column
|
<T> List<T> |
querySingleColumnTypedResults(String sql,
String[] args,
int column,
GeoPackageDataType dataType,
Integer limit)
Query for typed values from a single column up to the limit
|
<T> List<T> |
querySingleColumnTypedResults(String sql,
String[] args,
int column,
Integer limit)
Query for typed values from a single column up to the limit
|
Object |
querySingleResult(String sql,
String[] args)
Query the SQL for a single result object in the first column
|
Object |
querySingleResult(String sql,
String[] args,
GeoPackageDataType dataType)
Query the SQL for a single result object in the first column with the
expected data type
|
Object |
querySingleResult(String sql,
String[] args,
int column)
Query the SQL for a single result object
|
abstract Object |
querySingleResult(String sql,
String[] args,
int column,
GeoPackageDataType dataType)
Query the SQL for a single result object with the expected data type
|
List<Object> |
querySingleRowResults(String sql,
String[] args)
Query for values in a single (first) row
|
List<Object> |
querySingleRowResults(String sql,
String[] args,
GeoPackageDataType[] dataTypes)
Query for values in a single (first) row
|
<T> List<T> |
querySingleRowTypedResults(String sql,
String[] args)
Query for typed values in a single (first) row
|
<T> List<T> |
querySingleRowTypedResults(String sql,
String[] args,
GeoPackageDataType[] dataTypes)
Query for typed values in a single (first) row
|
<T> T |
querySingleTypedResult(String sql,
String[] args)
Query the SQL for a single result typed object in the first column
|
<T> T |
querySingleTypedResult(String sql,
String[] args,
GeoPackageDataType dataType)
Query the SQL for a single result typed object in the first column with
the expected data type
|
<T> T |
querySingleTypedResult(String sql,
String[] args,
int column)
Query the SQL for a single result typed object
|
<T> T |
querySingleTypedResult(String sql,
String[] args,
int column,
GeoPackageDataType dataType)
Query the SQL for a single result typed object with the expected data
type
|
<T> List<List<T>> |
queryTypedResults(String sql,
String[] args)
Query for typed values
|
<T> List<List<T>> |
queryTypedResults(String sql,
String[] args,
GeoPackageDataType[] dataTypes)
Query for typed values
|
<T> List<List<T>> |
queryTypedResults(String sql,
String[] args,
GeoPackageDataType[] dataTypes,
Integer limit)
Query for typed values up to the limit
|
<T> List<List<T>> |
queryTypedResults(String sql,
String[] args,
Integer limit)
Query for typed values
|
void |
setApplicationId()
Set the GeoPackage application id
|
void |
setApplicationId(String applicationId)
Set the GeoPackage application id
|
void |
setUserVersion()
Set the GeoPackage user version
|
void |
setUserVersion(int userVersion)
Set the user version
|
boolean |
tableExists(String tableName)
Check if the table exists
|
boolean |
tableOrViewExists(String name)
Check if a table or view exists with the name
|
boolean |
viewExists(String viewName)
Check if the view exists
|
protected final ConnectionSource connectionSource
protected GeoPackageCoreConnection(ConnectionSource connectionSource)
connectionSource - connection sourceprotected GeoPackageCoreConnection(GeoPackageCoreConnection connection)
connection - connectionpublic ConnectionSource getConnectionSource()
public abstract void execSQL(String sql)
sql - sql statementpublic abstract void beginTransaction()
public void endTransaction()
public void failTransaction()
public abstract void endTransaction(boolean successful)
successful - true if the transaction was successful, false to rollback or
not commitpublic void endAndBeginTransaction()
public abstract void commit()
public abstract boolean inTransaction()
public boolean enableForeignKeys()
public boolean foreignKeys()
public boolean foreignKeys(boolean on)
on - true to turn on, false to turn offpublic List<List<Object>> foreignKeyCheck()
public List<List<Object>> foreignKeyCheck(String tableName)
tableName - table namepublic abstract int delete(String table, String whereClause, String[] whereArgs)
table - table namewhereClause - where clausewhereArgs - where argumentspublic int count(String table)
table - table namepublic int count(String table, String where, String[] args)
table - table namewhere - where clauseargs - argumentspublic int count(String table, String column)
table - table namecolumn - column namepublic int count(String table, boolean distinct, String column)
table - table namedistinct - distinct column flagcolumn - column namepublic int count(String table, String column, String where, String[] args)
table - table namecolumn - column namewhere - where clauseargs - argumentspublic int count(String table, boolean distinct, String column, String where, String[] args)
table - table namedistinct - distinct column flagcolumn - column namewhere - where clauseargs - argumentspublic <T> T min(String table, String column)
T - return typetable - table namecolumn - column namepublic <T> T min(String table, String column, String where, String[] args)
T - return typetable - table namecolumn - column namewhere - where clauseargs - where argumentspublic <T> T max(String table, String column)
T - return typetable - table namecolumn - column namepublic <T> T max(String table, String column, String where, String[] args)
T - return typetable - table namecolumn - column namewhere - where clauseargs - where argumentspublic <T> T aggregateFunction(String function, String table, String column)
T - return typefunction - aggregate functiontable - table namecolumn - column namepublic <T> T aggregateFunction(String function, String table, boolean distinct, String column)
T - return typefunction - aggregate functiontable - table namedistinct - distinct column flagcolumn - column namepublic <T> T aggregateFunction(String function, String table, String column, String where, String[] args)
T - return typefunction - aggregate functiontable - table namecolumn - column namewhere - where clauseargs - argumentspublic <T> T aggregateFunction(String function, String table, boolean distinct, String column, String where, String[] args)
T - return typefunction - aggregate functiontable - table namedistinct - distinct column flagcolumn - column namewhere - where clauseargs - argumentspublic void close()
close in interface Closeableclose in interface AutoCloseablepublic boolean tableExists(String tableName)
tableName - table namepublic boolean viewExists(String viewName)
viewName - view namepublic boolean tableOrViewExists(String name)
name - table or view namepublic boolean columnExists(String tableName, String columnName)
tableName - table namecolumnName - column namepublic void addColumn(String tableName, String columnName, String columnDef)
tableName - table namecolumnName - column namecolumnDef - column definitionpublic Object querySingleResult(String sql, String[] args)
sql - sql statementargs - sql argumentspublic <T> T querySingleTypedResult(String sql, String[] args)
T - result value typesql - sql statementargs - sql argumentspublic Object querySingleResult(String sql, String[] args, GeoPackageDataType dataType)
sql - sql statementargs - sql argumentsdataType - GeoPackage data typepublic <T> T querySingleTypedResult(String sql, String[] args, GeoPackageDataType dataType)
T - result value typesql - sql statementargs - sql argumentsdataType - GeoPackage data typepublic Object querySingleResult(String sql, String[] args, int column)
sql - sql statementargs - argumentscolumn - column indexpublic <T> T querySingleTypedResult(String sql, String[] args, int column)
T - result value typesql - sql statementargs - argumentscolumn - column indexpublic abstract Object querySingleResult(String sql, String[] args, int column, GeoPackageDataType dataType)
sql - sql statementargs - argumentscolumn - column indexdataType - GeoPackage data typepublic <T> T querySingleTypedResult(String sql, String[] args, int column, GeoPackageDataType dataType)
T - result value typesql - sql statementargs - argumentscolumn - column indexdataType - GeoPackage data typepublic List<Object> querySingleColumnResults(String sql, String[] args)
sql - sql statementargs - sql argumentspublic <T> List<T> querySingleColumnTypedResults(String sql, String[] args)
T - result value typesql - sql statementargs - sql argumentspublic List<Object> querySingleColumnResults(String sql, String[] args, GeoPackageDataType dataType)
sql - sql statementargs - argumentsdataType - GeoPackage data typepublic <T> List<T> querySingleColumnTypedResults(String sql, String[] args, GeoPackageDataType dataType)
T - result value typesql - sql statementargs - argumentsdataType - GeoPackage data typepublic List<Object> querySingleColumnResults(String sql, String[] args, int column)
sql - sql statementargs - argumentscolumn - column indexpublic <T> List<T> querySingleColumnTypedResults(String sql, String[] args, int column)
T - result value typesql - sql statementargs - argumentscolumn - column indexpublic List<Object> querySingleColumnResults(String sql, String[] args, int column, GeoPackageDataType dataType)
sql - sql statementargs - argumentscolumn - column indexdataType - GeoPackage data typepublic <T> List<T> querySingleColumnTypedResults(String sql, String[] args, int column, GeoPackageDataType dataType)
T - result value typesql - sql statementargs - argumentscolumn - column indexdataType - GeoPackage data typepublic List<Object> querySingleColumnResults(String sql, String[] args, int column, Integer limit)
sql - sql statementargs - argumentslimit - result row limitcolumn - column indexpublic <T> List<T> querySingleColumnTypedResults(String sql, String[] args, int column, Integer limit)
T - result value typesql - sql statementargs - argumentslimit - result row limitcolumn - column indexpublic abstract List<Object> querySingleColumnResults(String sql, String[] args, int column, GeoPackageDataType dataType, Integer limit)
sql - sql statementargs - argumentscolumn - column indexdataType - GeoPackage data typelimit - result row limitpublic <T> List<T> querySingleColumnTypedResults(String sql, String[] args, int column, GeoPackageDataType dataType, Integer limit)
T - result value typesql - sql statementargs - argumentscolumn - column indexdataType - GeoPackage data typelimit - result row limitpublic List<List<Object>> queryResults(String sql, String[] args)
sql - sql statementargs - argumentspublic <T> List<List<T>> queryTypedResults(String sql, String[] args)
T - result value typesql - sql statementargs - argumentspublic List<List<Object>> queryResults(String sql, String[] args, GeoPackageDataType[] dataTypes)
sql - sql statementargs - argumentsdataTypes - column data typespublic <T> List<List<T>> queryTypedResults(String sql, String[] args, GeoPackageDataType[] dataTypes)
T - result value typesql - sql statementargs - argumentsdataTypes - column data typespublic List<Object> querySingleRowResults(String sql, String[] args)
sql - sql statementargs - argumentspublic <T> List<T> querySingleRowTypedResults(String sql, String[] args)
T - result value typesql - sql statementargs - argumentspublic List<Object> querySingleRowResults(String sql, String[] args, GeoPackageDataType[] dataTypes)
sql - sql statementargs - argumentsdataTypes - column data typespublic <T> List<T> querySingleRowTypedResults(String sql, String[] args, GeoPackageDataType[] dataTypes)
T - result value typesql - sql statementargs - argumentsdataTypes - column data typespublic List<List<Object>> queryResults(String sql, String[] args, Integer limit)
sql - sql statementargs - argumentslimit - result row limitpublic <T> List<List<T>> queryTypedResults(String sql, String[] args, Integer limit)
T - result value typesql - sql statementargs - argumentslimit - result row limitpublic abstract List<List<Object>> queryResults(String sql, String[] args, GeoPackageDataType[] dataTypes, Integer limit)
sql - sql statementargs - argumentsdataTypes - column data typeslimit - result row limitpublic <T> List<List<T>> queryTypedResults(String sql, String[] args, GeoPackageDataType[] dataTypes, Integer limit)
T - result value typesql - sql statementargs - argumentsdataTypes - column data typeslimit - result row limitpublic void setApplicationId()
public void setApplicationId(String applicationId)
applicationId - application idpublic String getApplicationId()
public Integer getApplicationIdInteger()
public String getApplicationIdHex()
public static String getApplicationId(Integer applicationId)
applicationId - application id integerpublic void setUserVersion()
public void setUserVersion(int userVersion)
userVersion - user versionpublic Integer getUserVersion()
public Integer getUserVersionMajor()
public Integer getUserVersionMinor()
public Integer getUserVersionPatch()
Copyright © 2020 National Geospatial-Intelligence Agency. All rights reserved.