org.apache.lucene.store

Class Directory

Known Direct Subclasses:
FSDirectory, RAMDirectory

public abstract class Directory
extends java.lang.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 void
close()
Closes the store.
abstract OutputStream
createFile(String name)
Creates a new, empty file in the directory with the given name.
abstract void
deleteFile(String name)
Removes an existing file in the directory.
abstract boolean
fileExists(String name)
Returns true iff a file with the given name exists.
abstract long
fileLength(String name)
Returns the length of a file in the directory.
abstract long
fileModified(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 Lock
makeLock(String name)
Construct a Lock.
abstract InputStream
openFile(String name)
Returns a stream reading an existing file.
abstract void
renameFile(String from, String to)
Renames an existing file in the directory.
abstract void
touchFile(String name)
Set the modified time of an existing file to now.

Method Details

close

public abstract void close()
            throws IOException
Closes the store.

createFile

public abstract OutputStream createFile(String name)
            throws IOException
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)
            throws IOException
Removes an existing file in the directory.

fileExists

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

fileLength

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

fileModified

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

list

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

makeLock

public abstract Lock makeLock(String name)
Construct a Lock.
Parameters:
name - the name of the lock file

openFile

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

renameFile

public abstract void renameFile(String from,
                                String to)
            throws IOException
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)
            throws IOException
Set the modified time of an existing file to now.

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