org.apache.hadoop.fs
Class Trash

java.lang.Object
  extended by org.apache.hadoop.conf.Configured
      extended by org.apache.hadoop.fs.Trash
All Implemented Interfaces:
Configurable

public class Trash
extends Configured

Provides a trash feature. Files are moved to a user's trash directory, a subdirectory of their home directory named ".Trash". Files are initially moved to a current sub-directory of the trash directory. Within that sub-directory their original path is preserved. Periodically one may checkpoint the current trash and remove older checkpoints. (This design permits trash management without enumeration of the full trash content, without date support in the filesystem, and without clock synchronization.)


Constructor Summary
Trash(Configuration conf)
          Construct a trash can accessor.
Trash(FileSystem fs, Configuration conf)
          Construct a trash can accessor for the FileSystem provided.
 
Method Summary
 void checkpoint()
          Create a trash checkpoint.
 void expunge()
          Delete old checkpoints.
 Runnable getEmptier()
          Return a Runnable that periodically empties the trash of all users, intended to be run by the superuser.
static void main(String[] args)
          Run an emptier.
 boolean moveToTrash(Path path)
          Move a file or directory to the current trash directory.
 
Methods inherited from class org.apache.hadoop.conf.Configured
getConf, setConf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Trash

public Trash(Configuration conf)
      throws IOException
Construct a trash can accessor.

Parameters:
conf - a Configuration
Throws:
IOException

Trash

public Trash(FileSystem fs,
             Configuration conf)
      throws IOException
Construct a trash can accessor for the FileSystem provided.

Throws:
IOException
Method Detail

moveToTrash

public boolean moveToTrash(Path path)
                    throws IOException
Move a file or directory to the current trash directory.

Returns:
false if the item is already in the trash or trash is disabled
Throws:
IOException

checkpoint

public void checkpoint()
                throws IOException
Create a trash checkpoint.

Throws:
IOException

expunge

public void expunge()
             throws IOException
Delete old checkpoints.

Throws:
IOException

getEmptier

public Runnable getEmptier()
                    throws IOException
Return a Runnable that periodically empties the trash of all users, intended to be run by the superuser. Only one checkpoint is kept at a time.

Throws:
IOException

main

public static void main(String[] args)
                 throws Exception
Run an emptier.

Throws:
Exception


Copyright © 2009 The Apache Software Foundation