org.apache.commons.io
public class FileDeleteStrategy extends Object
There is more than one way to delete a file. You may want to limit access to certain directories, to only delete directories if they are empty, or maybe to force deletion.
This class captures the strategy to use and is designed for user subclassing.
Since: Commons IO 1.3
Version: $Id: FileDeleteStrategy.java 453903 2006-10-07 13:47:06Z scolebourne $
Nested Class Summary | |
---|---|
static class | FileDeleteStrategy.ForceFileDeleteStrategy
Force file deletion strategy. |
Field Summary | |
---|---|
static FileDeleteStrategy | FORCE
The singleton instance for forced file deletion, which always deletes,
even if the file represents a non-empty directory. |
String | name The name of the strategy. |
static FileDeleteStrategy | NORMAL
The singleton instance for normal file deletion, which does not permit
the deletion of directories that are not empty. |
Constructor Summary | |
---|---|
protected | FileDeleteStrategy(String name)
Restricted constructor.
|
Method Summary | |
---|---|
void | delete(File fileToDelete)
Deletes the file object, which may be a file or a directory.
|
boolean | deleteQuietly(File fileToDelete)
Deletes the file object, which may be a file or a directory.
|
protected boolean | doDelete(File fileToDelete)
Actually deletes the file object, which may be a file or a directory.
|
String | toString()
Gets a string describing the delete strategy.
|
Parameters: name the name by which the strategy is known
Subclass writers should override doDelete, not this method.
Parameters: fileToDelete the file to delete, not null
Throws: NullPointerException if the file is null IOException if an error occurs during file deletion
IOException
s are caught and false returned instead.
If the file does not exist or is null, true is returned.
Subclass writers should override doDelete, not this method.
Parameters: fileToDelete the file to delete, null returns true
Returns: true if the file was deleted, or there was no such file
This method is designed for subclasses to override.
The implementation may return either false or an IOException
when deletion fails. The delete and deleteQuietly
methods will handle either response appropriately.
A check has been made to ensure that the file will exist.
This implementation uses File#delete().
Parameters: fileToDelete the file to delete, exists, not null
Returns: true if the file was deleteds
Throws: NullPointerException if the file is null IOException if an error occurs during file deletion
Returns: a string describing the delete strategy