org.apache.commons.io
Class FileDeleteStrategy
java.lang.Object
org.apache.commons.io.FileDeleteStrategy
public class FileDeleteStrategy
extends java.lang.Object
Strategy for deleting files.
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.
$Id: FileDeleteStrategy.java 453903 2006-10-07 13:47:06Z scolebourne $
static FileDeleteStrategy | FORCE - The singleton instance for forced file deletion, which always deletes,
even if the file represents a non-empty directory.
|
static FileDeleteStrategy | NORMAL - The singleton instance for normal file deletion, which does not permit
the deletion of directories that are not empty.
|
private String | name - The name of the strategy.
|
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.
|
FORCE
public static final FileDeleteStrategy FORCE
The singleton instance for forced file deletion, which always deletes,
even if the file represents a non-empty directory.
NORMAL
public static final FileDeleteStrategy NORMAL
The singleton instance for normal file deletion, which does not permit
the deletion of directories that are not empty.
name
private final String name
The name of the strategy.
FileDeleteStrategy
protected FileDeleteStrategy(String name)
Restricted constructor.
name
- the name by which the strategy is known
delete
public void delete(File fileToDelete)
throws IOException
Deletes the file object, which may be a file or a directory.
If the file does not exist, the method just returns.
Subclass writers should override
doDelete(File)
, not this method.
fileToDelete
- the file to delete, not null
deleteQuietly
public boolean deleteQuietly(File fileToDelete)
Deletes the file object, which may be a file or a directory.
All
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(File)
, not this method.
fileToDelete
- the file to delete, null returns true
- true if the file was deleted, or there was no such file
doDelete
protected boolean doDelete(File fileToDelete)
throws IOException
Actually deletes the file object, which may be a file or a directory.
This method is designed for subclasses to override.
The implementation may return either false or an
IOException
when deletion fails. The
delete(File)
and
deleteQuietly(File)
methods will handle either response appropriately.
A check has been made to ensure that the file will exist.
This implementation uses
File.delete()
.
fileToDelete
- the file to delete, exists, not null
- true if the file was deleteds
toString
public String toString()
Gets a string describing the delete strategy.
- a string describing the delete strategy
Copyright (c) 2002-2009 Apache Software Foundation