[ https://issues.apache.org/jira/browse/VFS-371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary D. Gregory updated VFS-371: -------------------------------- Attachment: FileObject-deleteAllDescendents.diff Patch with tests. > 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 > > Attachments: FileObject-deleteAllDescendents.diff > > > 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