org.apache.lucene.store
Class Directory

java.lang.Object
  extended byorg.apache.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 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

Constructor Summary
Directory()
           
 
Method Summary
abstract  void close()
          Closes the store.
 OutputStream createFile(String name)
          Deprecated. use createOutput(String)
 IndexOutput createOutput(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.
 InputStream openFile(String name)
          Deprecated. use openInput(String)
 IndexInput openInput(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.
 
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
Returns an array of strings, one for each file in the directory.

Throws:
IOException

fileExists

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

Throws:
IOException

fileModified

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

Throws:
IOException

touchFile

public abstract void touchFile(String name)
                        throws IOException
Set the modified time of an existing file to now.

Throws:
IOException

deleteFile

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

Throws:
IOException

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.

Throws:
IOException

fileLength

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

Throws:
IOException

createFile

public OutputStream createFile(String name)
                        throws IOException
Deprecated. use createOutput(String)

Throws:
IOException

createOutput

public IndexOutput createOutput(String name)
                         throws IOException
Creates a new, empty file in the directory with the given name. Returns a stream writing this file.

Throws:
IOException

openFile

public InputStream openFile(String name)
                     throws IOException
Deprecated. use openInput(String)

Throws:
IOException

openInput

public IndexInput openInput(String name)
                     throws IOException
Returns a stream reading an existing file.

Throws:
IOException

makeLock

public abstract Lock makeLock(String name)
Construct a Lock.

Parameters:
name - the name of the lock file

close

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

Throws:
IOException


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