Class Trash

All Implemented Interfaces:
Configurable

@Public @Stable public class Trash extends Configured
Provides a trash facility which supports pluggable Trash policies. See the implementation of the configured TrashPolicy for more details.
  • Constructor Details

    • Trash

      public Trash(Configuration conf) throws IOException
      Construct a trash can accessor.
      Parameters:
      conf - a Configuration
      Throws:
      IOException - raised on errors performing I/O.
    • Trash

      public Trash(FileSystem fs, Configuration conf) throws IOException
      Construct a trash can accessor for the FileSystem provided.
      Parameters:
      fs - the FileSystem
      conf - a Configuration
      Throws:
      IOException - raised on errors performing I/O.
  • Method Details

    • moveToAppropriateTrash

      public static boolean moveToAppropriateTrash(FileSystem fs, Path p, Configuration conf) throws IOException
      In case of the symlinks or mount points, one has to move the appropriate trashbin in the actual volume of the path p being deleted. Hence we get the file system of the fully-qualified resolved-path and then move the path p to the trashbin in that volume,
      Parameters:
      fs - - the filesystem of path p
      p - - the path being deleted - to be moved to trash
      conf - - configuration
      Returns:
      false if the item is already in the trash or trash is disabled
      Throws:
      IOException - on error
    • isEnabled

      public boolean isEnabled()
      Returns whether the trash is enabled for this filesystem.
      Returns:
      return if isEnabled true,not false.
    • moveToTrash

      public boolean moveToTrash(Path path) throws IOException
      Move a file or directory to the current trash directory.
      Parameters:
      path - the path.
      Returns:
      false if the item is already in the trash or trash is disabled
      Throws:
      IOException - raised on errors performing I/O.
    • checkpoint

      public void checkpoint() throws IOException
      Create a trash checkpoint.
      Throws:
      IOException - raised on errors performing I/O.
    • expunge

      public void expunge() throws IOException
      Delete old checkpoint(s).
      Throws:
      IOException - raised on errors performing I/O.
    • expungeImmediately

      public void expungeImmediately() throws IOException
      Delete all trash immediately.
      Throws:
      IOException - raised on errors performing I/O.
    • getEmptier

      public Runnable getEmptier() throws IOException
      Return a Runnable that periodically empties the trash of all users, intended to be run by the superuser.
      Returns:
      Runnable.
      Throws:
      IOException - on raised on errors performing I/O.
    • getCurrentTrashDir

      public Path getCurrentTrashDir(Path path) throws IOException
      Throws:
      IOException