[ 
https://issues.apache.org/jira/browse/IO-172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861492#action_12861492
 ] 

James Ring edited comment on IO-172 at 4/27/10 2:51 PM:
--------------------------------------------------------

This is just like 
http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Predicate.html
 and 
http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Predicates.html,
 except it's ugly and my hands hurt just looking at the example code above.

Nicer would be something like:

import static org.apache.commons.io.filefilter.IOFileFilters.*;

scanDirectory(new File("."), and(suffix(".xml"), not(name("bad"))));

      was (Author: sjr):
    This is just like 
http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Predicate.html
 and 
http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Predicates.html,
 except it's ugly and my hands hurt just looking at the example code above.

Nicer would be something like:

import static org.apache.commons.io.filefilter.IOFileFilters.*;

scanDirectory(and(suffix(".xml"), not(name("bad"))));
  
> Support directory scanning based on Ant-like include/exclude patterns
> ---------------------------------------------------------------------
>
>                 Key: IO-172
>                 URL: https://issues.apache.org/jira/browse/IO-172
>             Project: Commons IO
>          Issue Type: New Feature
>          Components: Utilities
>    Affects Versions: 1.4
>            Reporter: Benjamin Bentmann
>             Fix For: 2.x
>
>
> While IO offers a rich set of {{IOFileFilters}} for finding files in 
> directories, I feel it's missing a concept similar to Ant's file sets. For 
> example, how would one search for files that match "**/*.xml" but that don't 
> match "bad/**"? The sketched example would require to exclude the directory 
> "bad" but only if it is the first component of the path, something like 
> "foo/bad/bar.xml" still needs to be included.
> Given the increased flexibility of [Ant-like 
> patterns|http://ant.apache.org/manual/dirtasks.html#patterns], it would be 
> cool to have something similar to Ant's 
> [{{DirectoryScanner}}|http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java?view=markup]
>  available in Commons IO.
> Personally, I wouldn't need a full copy of the mentioned class, I believe 
> some method like
> {code:java}
> Collection<String> scanDirectory(File dir, Collection<String> includes, 
> Collection<String> excludes)
> {code}
> in {{FileUtils}} would just suffice. Some default excludes like SCM metadata 
> files could be provided as a public static final and unmodifiable string 
> collection. The return value should include path names relative to the base 
> directory instead of absolute paths (it's easy for the caller to resolve the 
> files against the base directory but it's error-prone to relativize absolute 
> paths).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to