Package db
Class Database
java.lang.Object
db.Database
- Direct Known Subclasses:
PackedDatabase,PrivateDatabase,VersionedDatabase
Database facilitates the creation of a DBHandle for accessing
a database.
Public constructors are only provided for use with "Non-Versioned" databases. This class should be extended when additional management features are needed, such as for a "Versioned" database.
This class assumes exclusive control of the associated files contained within the associated database directory and relies on the proper establishment of a syncObject to midigate potential concurrent modification issues.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BufferFileManagerprotected static final Stringprotected static final Stringprotected static final Stringprotected intprotected static final Stringprotected Fileprotected booleanprotected DBFileListenerprotected booleanprotected booleanprotected longprotected intprotected Objectprotected booleanprotected static final String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor for an existing "Non-Versioned" Database.protectedGeneral Database Constructor.protectedDatabase(File dbDir, DBFileListener dbFileListener, boolean create) Constructor for a new or existing "Non-Versioned" Database. -
Method Summary
Modifier and TypeMethodDescriptionprotected static final booleanDelete a directory and all of its contents.intReturns the version number associated with the latest buffer file version.longReturns the time at which this database was last saved.longlength()Returns the length of this domain file.open(TaskMonitor monitor) Open the stored database for non-update use.openForUpdate(TaskMonitor monitor) Open the stored database for update use.voidrefresh()Scan files and update state.protected voidscanFiles(boolean repair) Scan files and update state.voidsetSynchronizationObject(Object syncObject) Set the object to be used for synchronization.
-
Field Details
-
DATABASE_FILE_PREFIX
- See Also:
-
VERSION_FILE_PREFIX
- See Also:
-
CHANGE_FILE_PREFIX
- See Also:
-
CUMULATIVE_CHANGE_FILENAME
- See Also:
-
CUMULATIVE_MODMAP_FILENAME
- See Also:
-
minVersion
protected int minVersion -
currentVersion
protected int currentVersion -
lastModified
protected long lastModified -
isVersioned
protected boolean isVersioned -
isCheckOutCopy
protected boolean isCheckOutCopy -
updateAllowed
protected boolean updateAllowed -
bfMgr
-
dbDir
-
dbFileListener
-
dbDirCreated
protected boolean dbDirCreated -
syncObject
-
-
Constructor Details
-
Database
General Database Constructor.- Parameters:
dbDir-isVersioned-create- if true the database will be created.- Throws:
IOException
-
Database
Constructor for a new or existing "Non-Versioned" Database.- Parameters:
dbDir-dbFileListener- file version listenercreate-- Throws:
IOException
-
Database
Constructor for an existing "Non-Versioned" Database.- Parameters:
dbDir- database directory- Throws:
IOException
-
-
Method Details
-
setSynchronizationObject
Set the object to be used for synchronization.- Parameters:
syncObject-
-
lastModified
public long lastModified()Returns the time at which this database was last saved. -
deleteDir
Delete a directory and all of its contents.- Parameters:
dir-- Returns:
- true if delete was successful. If false is returned, a partial delete may have occurred.
-
getCurrentVersion
public int getCurrentVersion()Returns the version number associated with the latest buffer file version. -
open
Open the stored database for non-update use. The returned handle does not support the Save operation.- Parameters:
monitor- task monitor (may be null)- Returns:
- database handle
- Throws:
FileInUseException- thrown if unable to obtain the required database lock(s).IOException- thrown if IO error occurs.CancelledException- if cancelled by monitor
-
openForUpdate
Open the stored database for update use.- Parameters:
monitor- task monitor (may be null)- Returns:
- buffer file
- Throws:
FileInUseException- thrown if unable to obtain the required database lock(s).IOException- thrown if IO error occurs.CancelledException- if cancelled by monitor
-
length
Returns the length of this domain file. This size is the minimum disk space used for storing this file, but does not account for additional storage space used to tracks changes, etc.- Returns:
- file length
- Throws:
IOException- thrown if IO or access error occurs
-
refresh
Scan files and update state.- Throws:
FileNotFoundException
-
scanFiles
Scan files and update state.- Parameters:
repair- if true files are repaired if needed.- Throws:
FileNotFoundException
-