[ https://issues.apache.org/jira/browse/IO-119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Niall Pemberton updated IO-119:
-------------------------------
Attachment: FileFilterBuilderTestCase.java
FileFilterBuilder.java
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.
|