org.apache.lucene.store.je
Class JEDirectory
java.lang.Object
org.apache.lucene.store.Directory
org.apache.lucene.store.je.JEDirectory
- All Implemented Interfaces:
- Closeable
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.
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, copy, ensureOpen, getLockFactory, getLockID, openInput, setLockFactory, sync, sync, toString |
openFiles
protected Set<JEIndexOutput> 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 interface Closeable
- 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
listAll
public String[] listAll()
throws IOException
- Specified by:
listAll
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
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-2011 Apache Software Foundation. All Rights Reserved.