commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton (JIRA)" <>
Subject [jira] Commented: (IO-86) Add DirectoryWalker based on FileFinder
Date Sun, 08 Oct 2006 08:08:20 GMT
    [ ] 
Niall Pemberton commented on IO-86:

IMO using an Exception to control the cancellation process was a (slightly) more elegant way
to implement that behaviour. It also provides a more extensible mechanism for cancellations
originating from within DirectoryWalker - since it can be thrown from any of the methods and
custom implementations of CancelledOperation can be used to pass additional information to
the handleCancelled() method.

I envisaged two scenarios for cancellation - "externally" by another thread and "internally"
from within a DirectoryWalker implementation. The isCancelled() method was solely for the
former, but I'm starting to think that this doesn't add much (one dummy method and 2 checks)
and it would be better to just let users put in cancelled checks and throw exceptions wherever
they want. Doing this makes DirectoryWalker a simpler class - which is a good thing IMO.

What was the reason for replacing the use of an exception with a boolean - was it just stylistic
or do you have reasons of substance? Anyway my preference would be to revert to (alomost)
my original patch - without isCancelled() and the 2 checks.

Good point about exceptions - I think we should declare them on each method - then implementations
can choose what to do with them when they implement a call to the top walk() method. limiting
them to just IOExceptions seems narrow, since implementations may want to throw all sorts
of exceptions, not just IOExceptions.

> Add DirectoryWalker based on FileFinder
> ---------------------------------------
>                 Key: IO-86
>                 URL:
>             Project: Commons IO
>          Issue Type: New Feature
>          Components: Utilities
>    Affects Versions: 1.2
>            Reporter: Niall Pemberton
>             Fix For: 1.3
>         Attachments:,, io-DirectoryWalker-cancellation-2.patch,
> I'd like to propose adding a "FileFinder" back into Commons IO. This is a simplified
version of what was recently moved out of Commons IO into the "finder" component currently
in the sandbox.
> I believe this is a simpler, more generic implementation than the finder component and
therefore would be considered suitable for inclusion in Commons IO. Although simpler it could
be used as the basis for achieving the finder component's aims - namely to emulate the unix
find command.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message