Oracle® Coherence Java API Reference
v3.5.3

E15583-01

com.tangosol.io.bdb
Class BerkeleyDBBinaryStore.DatabaseHolder

java.lang.Object
  extended by com.tangosol.io.bdb.BerkeleyDBBinaryStore.DatabaseHolder
Enclosing class:
BerkeleyDBBinaryStore

protected class BerkeleyDBBinaryStore.DatabaseHolder
extends java.lang.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
protected  com.sleepycat.je.Database m_db
          The underlying Database Handle.
protected  boolean m_fTemporary
          Flag indicating if the database is temporary.
protected  java.lang.String m_sDbName
          The name of the underlying Database.
 
Constructor Summary
BerkeleyDBBinaryStore.DatabaseHolder(java.lang.String sDbName)
          Construct a DatabaseHolder, including a Database.
 
Method Summary
protected  void closeDb()
          Close the Database.
protected  void finalize()
          Finalize the holder, deleting the datbase if it is temporary.
 com.sleepycat.je.Database getDb()
          Get the underlying Database handle.
 java.lang.String getName()
          Get the name of the underlying Database.
 boolean isTemporary()
          Return if the database is temporary.
 java.lang.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 java.lang.String m_sDbName
The name of the underlying Database.

The name is maintained exteranlly 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

BerkeleyDBBinaryStore.DatabaseHolder

public BerkeleyDBBinaryStore.DatabaseHolder(java.lang.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 java.lang.String toString()
Return the Holder's human readable description.

Returns:
the Holder's human readable description

finalize

protected void finalize()
                 throws java.lang.Throwable
Finalize the holder, deleting the datbase if it is temporary.

Throws:
java.lang.Throwable - if the removal fails

getDb

public com.sleepycat.je.Database getDb()
Get the underlying Database handle.

Returns:
the Database handle

getName

public java.lang.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

Oracle® Coherence Java API Reference
v3.5.3

E15583-01

Copyright © 2000, 2010, Oracle. All rights reserved.