org.apache.lucene.store.je

## Class JEDirectory

- java.lang.Object
- - org.apache.lucene.store.Directory
  - - org.apache.lucene.store.je.JEDirectory

-     public class JEDirectory
      extends org.apache.lucene.store.Directory

  Port of Andi Vajda's DbDirectory to to Java Edition of Berkeley Database A JEDirectory is a Berkeley DB JE based implementation of `Directory`. It uses two `Db` database handles, one for storing file records and another for storing file data blocks.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected com.sleepycat.je.Database` | `blocks`
    `protected com.sleepycat.je.Database` | `files`
    `protected int` | `flags`
    `protected java.util.Set` | `openFiles`
    `protected com.sleepycat.je.Transaction` | `txn`

    - ### Fields inherited from class org.apache.lucene.store.Directory

      `isOpen, lockFactory`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JEDirectory(com.sleepycat.je.Transaction txn, com.sleepycat.je.Database files, com.sleepycat.je.Database blocks)`
    `JEDirectory(com.sleepycat.je.Transaction txn, com.sleepycat.je.Database files, com.sleepycat.je.Database blocks, int flags)` Instantiate a DbDirectory.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.je.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.je.Database files

    - #### blocks

          protected com.sleepycat.je.Database blocks

    - #### txn

          protected com.sleepycat.je.Transaction txn

    - #### flags

          protected int flags

  - ### Constructor Detail

    - #### JEDirectory

          public JEDirectory(com.sleepycat.je.Transaction txn,
                             com.sleepycat.je.Database files,
                             com.sleepycat.je.Database 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.

    - #### JEDirectory

          public JEDirectory(com.sleepycat.je.Transaction txn,
                             com.sleepycat.je.Database files,
                             com.sleepycat.je.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.je.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.je.Transaction txn)

      Once a transaction handle was committed it is no longer valid. In order to continue using this JEDirectory instance after a commit, the transaction handle has to be replaced.
      Parameters:
        `txn` - the new transaction handle to use

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