protected class BerkeleyDBBinaryStore.DatabaseHolder extends Object
Database objects cannot be closed if they are in use by other threads. The Java garbage collector and this holder are utilized to delay closing the Database until it is guaranteed to not be in use.
Modifier and Type | Field and Description |
---|---|
protected com.sleepycat.je.Database |
m_db
The underlying Database Handle.
|
protected boolean |
m_fTemporary
Flag indicating if the database is temporary.
|
protected String |
m_sDbName
The name of the underlying Database.
|
Constructor and Description |
---|
DatabaseHolder(String sDbName)
Construct a DatabaseHolder, including a Database.
|
Modifier and Type | Method and Description |
---|---|
protected void |
closeDb()
Close the Database.
|
protected void |
finalize()
Finalize the holder, deleting the database if it is temporary.
|
com.sleepycat.je.Database |
getDb()
Get the underlying Database handle.
|
String |
getName()
Get the name of the underlying Database.
|
boolean |
isTemporary()
Return if the database is temporary.
|
String |
toString()
Return the Holder's human readable description.
|
protected com.sleepycat.je.Database m_db
protected String m_sDbName
The name is maintained externally from the Database as calls to Database.getDatabaseName() are costly.
protected boolean m_fTemporary
Temporary databases are automatically deleted on shutdown or GC.
public DatabaseHolder(String sDbName) throws com.sleepycat.je.DatabaseException
sDbName
- if non null specifies the name of a persistent database.com.sleepycat.je.DatabaseException
public String toString()
protected void finalize() throws Throwable
public com.sleepycat.je.Database getDb()
public String getName()
public boolean isTemporary()
protected void closeDb() throws com.sleepycat.je.DatabaseException
If this is a temporary, or empty persistent DB, then it will be deleted.
com.sleepycat.je.DatabaseException