Add FileObject API deleteAllDescendents()
-----------------------------------------
Key: VFS-371
URL: https://issues.apache.org/jira/browse/VFS-371
Project: Commons VFS
Issue Type: New Feature
Environment: Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
Maven home: C:\Java\apache-maven-3.0.3\bin\..
Java version: 1.6.0_29, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_29\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Reporter: Gary D. Gregory
Fix For: 2.1
I see a lot of call sites within VFS 2 and some in my work server that do:
{code:java}
fileObject.delete(Selectors.SELECT_ALL);
{code}
It therefore seems like a sensible refactoring.
Add to {{FileObject}}:
{code:java}
/**
* Deletes all descendents of this file.
* Does nothing if this file does not exist.
* Shorthand for {@code delete(Selectors.Selectors.SELECT_ALL)}
* <p/>
* <p>This method is not transactional. If it fails and throws an
* exception, this file will potentially only be partially deleted.
*
* @return the number of deleted objects
* @throws FileSystemException If this file or one of its descendents is
read-only, or on error
* deleting this file or one of its descendents.
*/
int deleteAllDescendents() throws FileSystemException;
{code}
And to {{AbstractFileObject}}:
{code:java}
/**
* Deletes this file, and all children.
*
* @return the number of deleted files.
* @throws FileSystemException if an error occurs.
*/
public int deleteAllDescendents() throws FileSystemException
{
return this.delete(Selectors.SELECT_ALL);
}
{code}
Thoughts?
Attaching patch.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira