## org.apache.lucene.store.db
Class DbDirectory

    java.lang.Object
      org.apache.lucene.store.Directory
          org.apache.lucene.store.db.DbDirectory

    public class DbDirectory

extends org.apache.lucene.store.Directory

A DbDirectory is a Berkeley DB 4.3 based implementation of `Directory`. It uses two `Db` database handles, one for storing file records and another for storing file data blocks.

Field Summary
`protected com.sleepycat.db.internal.Db` `blocks`
`protected com.sleepycat.db.internal.Db` `files`
`protected int` `flags`
`protected java.util.Set` `openFiles`
`protected com.sleepycat.db.internal.DbTxn` `txn`

Fields inherited from class org.apache.lucene.store.Directory
`isOpen, lockFactory`

Constructor Summary
`DbDirectory(com.sleepycat.db.internal.DbTxn txn, com.sleepycat.db.internal.Db files, com.sleepycat.db.internal.Db blocks, int flags)` Instantiate a DbDirectory.
`DbDirectory(com.sleepycat.db.Transaction txn, com.sleepycat.db.Database files, com.sleepycat.db.Database blocks)`
`DbDirectory(com.sleepycat.db.Transaction txn, com.sleepycat.db.Database files, com.sleepycat.db.Database blocks, int flags)`

Method Summary
`void` `close()`
`org.apache.lucene.store.IndexOutput` `createOutput(java.lang.String name)`
`void` `deleteFile(java.lang.String name)`
`boolean` `fileExists(java.lang.String name)`
`long` `fileLength(java.lang.String name)`
`long` `fileModified(java.lang.String name)`
`void` `flush()` Flush the currently open files.
`java.lang.String[]` `list()`
`org.apache.lucene.store.Lock` `makeLock(java.lang.String name)`
`org.apache.lucene.store.IndexInput` `openInput(java.lang.String name)`
`void` `renameFile(java.lang.String from, java.lang.String to)`
`void` `setTransaction(com.sleepycat.db.internal.DbTxn txn)` Once a transaction handle was committed it is no longer valid.
`void` `setTransaction(com.sleepycat.db.Transaction txn)` Once a transaction handle was committed it is no longer valid.
`void` `touchFile(java.lang.String name)`

Methods inherited from class org.apache.lucene.store.Directory
`clearLock, copy, ensureOpen, getLockFactory, getLockID, listAll, openInput, setLockFactory, sync, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### openFiles

    protected java.util.Set openFiles

### files

    protected com.sleepycat.db.internal.Db files

### blocks

    protected com.sleepycat.db.internal.Db blocks

### txn

    protected com.sleepycat.db.internal.DbTxn txn

### flags

    protected int flags

Constructor Detail

### DbDirectory

    public DbDirectory(com.sleepycat.db.internal.DbTxn txn,
                       com.sleepycat.db.internal.Db files,
                       com.sleepycat.db.internal.Db blocks,
                       int flags)

  Instantiate a DbDirectory. The same threading rules that apply to Berkeley DB handles apply to instances of DbDirectory.

  Parameters:
    `txn` - a transaction handle that is going to be used for all db operations done by this instance. This parameter may be `null`.
    `files` - a db handle to store file records.
    `blocks` - a db handle to store file data blocks.
    `flags` - flags used for db read operations.

### DbDirectory

    public DbDirectory(com.sleepycat.db.Transaction txn,
                       com.sleepycat.db.Database files,
                       com.sleepycat.db.Database blocks,
                       int flags)

### DbDirectory

    public DbDirectory(com.sleepycat.db.Transaction txn,
                       com.sleepycat.db.Database files,
                       com.sleepycat.db.Database blocks)

Method Detail

### close

    public void close()
               throws java.io.IOException

  Specified by:
    `close` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### flush

    public void flush()
               throws java.io.IOException

  Flush the currently open files. After they have been flushed it is safe to commit the transaction without closing this DbDirectory instance first.

  Throws:
    `java.io.IOException`
  See Also:
    `setTransaction(com.sleepycat.db.Transaction)`

### createOutput

    public org.apache.lucene.store.IndexOutput createOutput(java.lang.String name)
                                                     throws java.io.IOException

  Specified by:
    `createOutput` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### deleteFile

    public void deleteFile(java.lang.String name)
                    throws java.io.IOException

  Specified by:
    `deleteFile` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### fileExists

    public boolean fileExists(java.lang.String name)
                       throws java.io.IOException

  Specified by:
    `fileExists` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### fileLength

    public long fileLength(java.lang.String name)
                    throws java.io.IOException

  Specified by:
    `fileLength` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### fileModified

    public long fileModified(java.lang.String name)
                      throws java.io.IOException

  Specified by:
    `fileModified` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### list

    public java.lang.String[] list()
                            throws java.io.IOException

  Specified by:
    `list` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### openInput

    public org.apache.lucene.store.IndexInput openInput(java.lang.String name)
                                                 throws java.io.IOException

  Specified by:
    `openInput` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### makeLock

    public org.apache.lucene.store.Lock makeLock(java.lang.String name)

  Overrides:
    `makeLock` in class `org.apache.lucene.store.Directory`

### renameFile

    public void renameFile(java.lang.String from,
                           java.lang.String to)
                    throws java.io.IOException

  Specified by:
    `renameFile` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### touchFile

    public void touchFile(java.lang.String name)
                   throws java.io.IOException

  Specified by:
    `touchFile` in class `org.apache.lucene.store.Directory`
  Throws:
    `java.io.IOException`

### setTransaction

    public void setTransaction(com.sleepycat.db.Transaction txn)

  Once a transaction handle was committed it is no longer valid. In order to continue using this DbDirectory instance after a commit, the transaction handle has to be replaced.

  Parameters:
    `txn` - the new transaction handle to use

### setTransaction

    public void setTransaction(com.sleepycat.db.internal.DbTxn txn)

  Once a transaction handle was committed it is no longer valid. In order to continue using this DbDirectory instance after a commit, the transaction handle has to be replaced.

  Parameters:
    `txn` - the new transaction handle to use

Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.