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 |
protected com.sleepycat.je.Database |
blocks
|
protected com.sleepycat.je.Database |
files
|
protected int |
flags
|
protected Set |
openFiles
|
protected com.sleepycat.je.Transaction |
txn
|
| Fields inherited from class org.apache.lucene.store.Directory |
isOpen, lockFactory |
|
Constructor Summary |
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. |
| Methods inherited from class org.apache.lucene.store.Directory |
clearLock, copy, ensureOpen, getLockFactory, getLockID, listAll, openInput, setLockFactory, sync |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
openFiles
protected 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
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)
close
public void close()
throws IOException
- Specified by:
close in class org.apache.lucene.store.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(com.sleepycat.je.Transaction)
createOutput
public org.apache.lucene.store.IndexOutput createOutput(String name)
throws IOException
- Specified by:
createOutput in class org.apache.lucene.store.Directory
- Throws:
IOException
deleteFile
public void deleteFile(String name)
throws IOException
- Specified by:
deleteFile in class org.apache.lucene.store.Directory
- Throws:
IOException
fileExists
public boolean fileExists(String name)
throws IOException
- Specified by:
fileExists in class org.apache.lucene.store.Directory
- Throws:
IOException
fileLength
public long fileLength(String name)
throws IOException
- Specified by:
fileLength in class org.apache.lucene.store.Directory
- Throws:
IOException
fileModified
public long fileModified(String name)
throws IOException
- Specified by:
fileModified in class org.apache.lucene.store.Directory
- Throws:
IOException
list
public String[] list()
throws IOException
- Specified by:
list in class org.apache.lucene.store.Directory
- Throws:
IOException
openInput
public org.apache.lucene.store.IndexInput openInput(String name)
throws IOException
- Specified by:
openInput in class org.apache.lucene.store.Directory
- Throws:
IOException
makeLock
public org.apache.lucene.store.Lock makeLock(String name)
- Overrides:
makeLock in class org.apache.lucene.store.Directory
renameFile
public void renameFile(String from,
String to)
throws IOException
- Specified by:
renameFile in class org.apache.lucene.store.Directory
- Throws:
IOException
touchFile
public void touchFile(String name)
throws IOException
- Specified by:
touchFile in class org.apache.lucene.store.Directory
- Throws:
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-2010 Apache Software Foundation. All Rights Reserved.