Package org.syncany.database.dao
Class ApplicationSqlDao
- java.lang.Object
-
- org.syncany.database.dao.AbstractSqlDao
-
- org.syncany.database.dao.ApplicationSqlDao
-
public class ApplicationSqlDao extends AbstractSqlDao
The application data access object (DAO) writes and queries the SQL database for general information about the application.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.logging.Logger
logger
-
Fields inherited from class org.syncany.database.dao.AbstractSqlDao
connection
-
-
Constructor Summary
Constructors Constructor Description ApplicationSqlDao(java.sql.Connection connection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deleteAll()
Deletes all metadata, including known databases.java.lang.Long
getCleanupNumber()
java.lang.Long
getCleanupTime()
VectorClock
getHighestKnownDatabaseFilenameNumbers()
java.util.List<DatabaseRemoteFile>
getKnownDatabases()
Queries the database for already knownDatabaseRemoteFile
s and returns a list of all of them.java.lang.String
readSetting(java.lang.String key)
java.lang.Long
readSettingAsLong(java.lang.String key)
void
removeKnownDatabases()
void
shutdown()
Shuts down the HSQL database, i.e.void
writeCleanupNumber(long cleanupNumber)
void
writeCleanupTime(long cleanupTime)
void
writeKnownRemoteDatabases(java.util.List<DatabaseRemoteFile> remoteDatabases)
Writes a list ofDatabaseRemoteFile
s to the database using the given connection.void
writeSetting(java.lang.String key, java.lang.String value)
-
Methods inherited from class org.syncany.database.dao.AbstractSqlDao
getConnection, getStatement, getStatement, runScript
-
-
-
-
Field Detail
-
logger
protected static final java.util.logging.Logger logger
-
-
Constructor Detail
-
ApplicationSqlDao
public ApplicationSqlDao(java.sql.Connection connection)
-
-
Method Detail
-
writeKnownRemoteDatabases
public void writeKnownRemoteDatabases(java.util.List<DatabaseRemoteFile> remoteDatabases) throws java.sql.SQLException
Writes a list ofDatabaseRemoteFile
s to the database using the given connection.Note: This method executes, but does not commit the query.
- Parameters:
remoteDatabases
- List of remote databases to write to the database- Throws:
java.sql.SQLException
- If the SQL statement fails
-
getHighestKnownDatabaseFilenameNumbers
public VectorClock getHighestKnownDatabaseFilenameNumbers()
-
getKnownDatabases
public java.util.List<DatabaseRemoteFile> getKnownDatabases()
Queries the database for already knownDatabaseRemoteFile
s and returns a list of all of them.- Returns:
- Returns a list of all known/processed remote databases
-
removeKnownDatabases
public void removeKnownDatabases()
-
deleteAll
public void deleteAll()
Deletes all metadata, including known databases.
-
shutdown
public void shutdown()
Shuts down the HSQL database, i.e. persists all data, closes all connections and unlocks the database for other processes.The command sends the
SHUTDOWN
SQL command.
-
getCleanupNumber
public java.lang.Long getCleanupNumber()
-
getCleanupTime
public java.lang.Long getCleanupTime()
-
writeCleanupNumber
public void writeCleanupNumber(long cleanupNumber)
-
writeCleanupTime
public void writeCleanupTime(long cleanupTime)
-
readSettingAsLong
public java.lang.Long readSettingAsLong(java.lang.String key)
-
readSetting
public java.lang.String readSetting(java.lang.String key)
-
writeSetting
public void writeSetting(java.lang.String key, java.lang.String value)
-
-