Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 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.

Author:
  Andi Vajda

Field Summary
`protected Db` | `blocks`
`protected Db` | `files`
`protected int` | `flags`
`protected Set` | `openFiles`
`protected DbTxn` | `txn`

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

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

Method Summary
`void` | `close()` Closes the store.
`IndexOutput` | `createOutput(String name)` Creates a new, empty file in the directory with the given name.
`void` | `deleteFile(String name)` Removes an existing file in the directory.
`boolean` | `fileExists(String name)` Returns true iff a file with the given name exists.
`long` | `fileLength(String name)` Returns the length of a file in the directory.
`long` | `fileModified(String name)` Returns the time the named file was last modified.
`void` | `flush()` Flush the currently open files.
`String[]` | `list()` Returns an array of strings, one for each file in the directory.
`Lock` | `makeLock(String name)` Construct a `Lock`.
`IndexInput` | `openInput(String name)` Returns a stream reading an existing file.
`void` | `renameFile(String from, String to)` Renames an existing file in the directory.
`void` | `setTransaction(Transaction txn)` Once a transaction handle was committed it is no longer valid.
`void` | `touchFile(String name)` Set the modified time of an existing file to now.

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

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

Field Detail

### openFiles

    protected Set openFiles

### files

    protected Db files

### blocks

    protected Db blocks

### txn

    protected DbTxn txn

### flags

    protected int flags

Constructor Detail

### DbDirectory

    public DbDirectory(DbTxn txn,
                       Db files,
                       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(Transaction txn,
                       Database files,
                       Database blocks)

Method Detail

### close

    public void close()
               throws IOException

  Description copied from class: `Directory`
  Closes the store.

  Specified by:
    `close` in class `Directory`
  Throws:
    `IOException`

### flush

    public void flush()
               throws 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:
    `IOException`
  See Also:
    `setTransaction(Transaction)`

### createOutput

    public IndexOutput createOutput(String name)
                             throws IOException

  Description copied from class: `Directory`
  Creates a new, empty file in the directory with the given name. Returns a stream writing this file.

  Specified by:
    `createOutput` in class `Directory`
  Throws:
    `IOException`

### deleteFile

    public void deleteFile(String name)
                    throws IOException

  Description copied from class: `Directory`
  Removes an existing file in the directory.

  Specified by:
    `deleteFile` in class `Directory`
  Throws:
    `IOException`

### fileExists

    public boolean fileExists(String name)
                       throws IOException

  Description copied from class: `Directory`
  Returns true iff a file with the given name exists.

  Specified by:
    `fileExists` in class `Directory`
  Throws:
    `IOException`

### fileLength

    public long fileLength(String name)
                    throws IOException

  Description copied from class: `Directory`
  Returns the length of a file in the directory.

  Specified by:
    `fileLength` in class `Directory`
  Throws:
    `IOException`

### fileModified

    public long fileModified(String name)
                      throws IOException

  Description copied from class: `Directory`
  Returns the time the named file was last modified.

  Specified by:
    `fileModified` in class `Directory`
  Throws:
    `IOException`

### list

    public String[] list()
                  throws IOException

  Description copied from class: `Directory`
  Returns an array of strings, one for each file in the directory. This method may return null (for example for `FSDirectory` if the underlying directory doesn't exist in the filesystem or there are permissions problems).

  Specified by:
    `list` in class `Directory`
  Throws:
    `IOException`

### openInput

    public IndexInput openInput(String name)
                         throws IOException

  Description copied from class: `Directory`
  Returns a stream reading an existing file.

  Specified by:
    `openInput` in class `Directory`
  Throws:
    `IOException`

### makeLock

    public Lock makeLock(String name)

  Description copied from class: `Directory`
  Construct a `Lock`.

  Overrides:
    `makeLock` in class `Directory`
  Parameters:
    `name` - the name of the lock file

### renameFile

    public void renameFile(String from,
                           String to)
                    throws IOException

  Description copied from class: `Directory`
  Renames an existing file in the directory. If a file already exists with the new name, then it is replaced. This replacement is not guaranteed to be atomic.

  Specified by:
    `renameFile` in class `Directory`
  Throws:
    `IOException`

### touchFile

    public void touchFile(String name)
                   throws IOException

  Description copied from class: `Directory`
  Set the modified time of an existing file to now.

  Specified by:
    `touchFile` in class `Directory`
  Throws:
    `IOException`

### setTransaction

    public void setTransaction(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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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