[
https://issues.apache.org/jira/browse/IO-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567257#action_12567257
]
niallp edited comment on IO-119 at 2/8/08 5:05 PM:
------------------------------------------------------------
Isn't that what we already have in FileFilterUtils?
http://commons.apache.org/io/api-release/org/apache/commons/io/filefilter/FileFilterUtils.html
New version attached - I don't think theres an intuitive way to do and/or
together - so I've simplified by removing that, add singleton instances for
AND/OR, added regex and provided better size / lastmodified methods.
So for example, to create a file filter for the following conditions
- Either, directories which are not hidden and not named ".svn"
- or, files which have a suffix of ".java"
{code}
FileFilterBuilder directoryBuilder = FileFilterBuilder.AND
.isDirectory()
.isNotHidden()
.not().name(".svn");
FileFilterBuilder fileBuilder = FileFilterBuilder.AND
.isFile()
.suffix(".java");
FileFilter filter = FileFilterBuilder.OR
.add(directoryBuilder)
.add(fileBuilder)
.toFileFilter();
{code}
was (Author: niallp):
Isn't that what we already have in FileFilterUtils?
http://commons.apache.org/io/api-release/org/apache/commons/io/filefilter/FileFilterUtils.html
New version attached - I don't think theres an intuitive way to do and/or
together - so I've simplified by removing that, add singleton instances for
AND/OR, added regex and provided better size / lastmodified methods.
So for example, to create a file filter for the following conditions
- Either, directories which are not hidden and not named ".svn"
- or, files which have a suffix of ".java"
FileFilterBuilder directoryBuilder = FileFilterBuilder.AND
.isDirectory()
.isHidden(false)
.not().name(".svn");
FileFilterBuilder fileBuilder = FileFilterBuilder.AND
.isFile()
.suffix(".java");
FileFilter filter = FileFilterBuilder.OR
.add(directoryBuilder)
.add(fileBuilder)
.toFileFilter();
> Convenience "Builder" for creating complex FileFilter conditions
> ----------------------------------------------------------------
>
> Key: IO-119
> URL: https://issues.apache.org/jira/browse/IO-119
> Project: Commons IO
> Issue Type: Improvement
> Components: Filters
> Affects Versions: 1.3.1
> Reporter: Niall Pemberton
> Assignee: Niall Pemberton
> Priority: Minor
> Fix For: 2.x
>
> Attachments: FileFilterBuilder.java, FileFilterBuilderTestCase.java
>
>
> I'd like to add a new convenience "builder" class (FileFilterBuilder) to make
> it easier to create complex FileFilter using Commons IO's IOFileFilter
> implementations.
> Heres an example of how it can be used to create a IOFileFilter for the
> following conditions:
> - Either, directories which are not hidden and not named ".svn"
> - or, files which have a suffix of ".java"
> IOFileFilter filter = FileFilterBuilder.orBuilder()
> .and().isDirectory().isHidden(false).not().name(".svn").end()
> .and().isFile().suffix(".java").end()
> .getFileFilter();
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.