Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.lucene.store
Class Directory

    java.lang.Object
      org.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:

- implementation of RAM-based indices;
- implementation indices stored in a database, via JDBC;
- implementation of an index as a single file;

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 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.

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 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.

  Throws:
    `IOException`

### openFile

    public abstract InputStream openFile(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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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