org.apache.tomcat.jni

## Class Directory

- java.lang.Object
- - org.apache.tomcat.jni.Directory

    public class Directory
    extends Object

Directory

Author:
  Mladen Turk

### Constructor Summary

Constructors
Constructor and Description
`Directory()`

### Method Summary

Methods
`static int` `close(long thedir)` close the specified directory.
`static int` `make(String path, int perm, long pool)` Create a new directory on the file system.
`static int` `makeRecursive(String path, int perm, long pool)` Creates a new directory on the file system, but behaves like 'mkdir -p'.
`static long` `open(String dirname, long pool)` Open the specified directory.
`static int` `read(FileInfo finfo, int wanted, long thedir)` Read the next entry from the specified directory.
`static int` `remove(String path, long pool)` Remove directory from the file system.
`static int` `rewind(long thedir)` Rewind the directory to the first entry.
`static String` `tempGet(long pool)` Find an existing directory suitable as a temporary storage location.

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

#### make

    public static int make(String path,
           int perm,
           long pool)

Create a new directory on the file system.

Parameters:
  `path` - the path for the directory to be created. (use / on all systems)
  `perm` - Permissions for the new directory.
  `pool` - the pool to use.

#### makeRecursive

    public static int makeRecursive(String path,
                    int perm,
                    long pool)

Creates a new directory on the file system, but behaves like 'mkdir -p'. Creates intermediate directories as required. No error will be reported if PATH already exists.

Parameters:
  `path` - the path for the directory to be created. (use / on all systems)
  `perm` - Permissions for the new directory.
  `pool` - the pool to use.

#### remove

    public static int remove(String path,
             long pool)

Remove directory from the file system.

Parameters:
  `path` - the path for the directory to be removed. (use / on all systems)
  `pool` - the pool to use.

#### tempGet

    public static String tempGet(long pool)

Find an existing directory suitable as a temporary storage location.

Parameters:
  `pool` - The pool to use for any necessary allocations.
Returns:
  The temp directory. This function uses an algorithm to search for a directory that an an application can use for temporary storage. Once such a directory is found, that location is cached by the library. Thus, callers only pay the cost of this algorithm once if that one time is successful.

#### open

    public static long open(String dirname,
            long pool)
                     throws Error

Open the specified directory.

Parameters:
  `dirname` - The full path to the directory (use / on all systems)
  `pool` - The pool to use.
Returns:
  The opened directory descriptor.
Throws:
  `Error`

#### close

    public static int close(long thedir)

close the specified directory.

Parameters:
  `thedir` - the directory descriptor to close.

#### rewind

    public static int rewind(long thedir)

Rewind the directory to the first entry.

Parameters:
  `thedir` - the directory descriptor to rewind.

#### read

    public static int read(FileInfo finfo,
           int wanted,
           long thedir)

Read the next entry from the specified directory.

Parameters:
  `finfo` - the file info structure and filled in by apr_dir_read
  `wanted` - The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
  `thedir` - the directory descriptor returned from apr_dir_open No ordering is guaranteed for the entries read.