org.apache.lucene.store

Class Directory

public abstract class Directory extends Object

A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.

Java's i/o APIs not used directly, but rather all i/o is through this API. This permits things such as:

Author: Doug Cutting

Method Summary
abstract voidclose()
Closes the store.
abstract OutputStreamcreateFile(String name)
Creates a new, empty file in the directory with the given name.
abstract voiddeleteFile(String name)
Removes an existing file in the directory.
abstract booleanfileExists(String name)
Returns true iff a file with the given name exists.
abstract longfileLength(String name)
Returns the length of a file in the directory.
abstract longfileModified(String name)
Returns the time the named file was last modified.
abstract String[]list()
Returns an array of strings, one for each file in the directory.
abstract LockmakeLock(String name)
Construct a {@link Lock}.
abstract InputStreamopenFile(String name)
Returns a stream reading an existing file.
abstract voidrenameFile(String from, String to)
Renames an existing file in the directory.
abstract voidtouchFile(String name)
Set the modified time of an existing file to now.

Method Detail

close

public abstract void close()
Closes the store.

createFile

public abstract OutputStream createFile(String name)
Creates a new, empty file in the directory with the given name. Returns a stream writing this file.

deleteFile

public abstract void deleteFile(String name)
Removes an existing file in the directory.

fileExists

public abstract boolean fileExists(String name)
Returns true iff a file with the given name exists.

fileLength

public abstract long fileLength(String name)
Returns the length of a file in the directory.

fileModified

public abstract long fileModified(String name)
Returns the time the named file was last modified.

list

public abstract String[] list()
Returns an array of strings, one for each file in the directory.

makeLock

public abstract Lock makeLock(String name)
Construct a {@link Lock}.

Parameters: name the name of the lock file

openFile

public abstract InputStream openFile(String name)
Returns a stream reading an existing file.

renameFile

public abstract void renameFile(String from, String to)
Renames an existing file in the directory. If a file already exists with the new name, then it is replaced. This replacement should be atomic.

touchFile

public abstract void touchFile(String name)
Set the modified time of an existing file to now.
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.