Package com.tangosol.io.bdb
Class BerkeleyDBBinaryStore.DatabaseHolder
- java.lang.Object
-
- com.tangosol.io.bdb.BerkeleyDBBinaryStore.DatabaseHolder
-
- Enclosing class:
- BerkeleyDBBinaryStore
protected class BerkeleyDBBinaryStore.DatabaseHolder extends Object
The DatabaseHolder class is used as a wrapper around a Berkeley DB Database 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.
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description DatabaseHolder(String sDbName)
Construct a DatabaseHolder, including a Database.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
Field Detail
-
m_db
protected com.sleepycat.je.Database m_db
The underlying Database Handle.
-
m_sDbName
protected String m_sDbName
The name of the underlying Database.The name is maintained externally from the Database as calls to Database.getDatabaseName() are costly.
-
m_fTemporary
protected boolean m_fTemporary
Flag indicating if the database is temporary.Temporary databases are automatically deleted on shutdown or GC.
-
-
Constructor Detail
-
DatabaseHolder
public DatabaseHolder(String sDbName) throws com.sleepycat.je.DatabaseException
Construct a DatabaseHolder, including a Database.- Parameters:
sDbName
- if non null specifies the name of a persistent database.- Throws:
com.sleepycat.je.DatabaseException
-
-
Method Detail
-
toString
public String toString()
Return the Holder's human readable description.
-
finalize
protected void finalize() throws Throwable
Finalize the holder, deleting the database if it is temporary.
-
getDb
public com.sleepycat.je.Database getDb()
Get the underlying Database handle.- Returns:
- the Database handle
-
getName
public String getName()
Get the name of the underlying Database.- Returns:
- the Database name
-
isTemporary
public boolean isTemporary()
Return if the database is temporary.- Returns:
- true if the database is temporary
-
closeDb
protected void closeDb() throws com.sleepycat.je.DatabaseException
Close the Database.If this is a temporary, or empty persistent DB, then it will be deleted.
- Throws:
com.sleepycat.je.DatabaseException
-
-