com.lucene.store
Class Directory

java.lang.Object
  |
  +--com.lucene.store.Directory
Direct Known Subclasses:
FSDirectory, RAMDirectory

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 when reading and writing.

Author:
Doug Cutting

Constructor Summary
Directory()
           
 
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  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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Directory

public Directory()
Method Detail

list

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

fileExists

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

fileModified

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

deleteFile

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

renameFile

public abstract void renameFile(String from,
                                String to)
                         throws IOException,
                                SecurityException
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.

fileLength

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

createFile

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

openFile

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

close

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