Example usage for org.apache.commons.io.filefilter FileFilterUtils makeDirectoryOnly

List of usage examples for org.apache.commons.io.filefilter FileFilterUtils makeDirectoryOnly

Introduction

In this page you can find the example usage for org.apache.commons.io.filefilter FileFilterUtils makeDirectoryOnly.

Prototype

public static IOFileFilter makeDirectoryOnly(IOFileFilter filter) 

Source Link

Document

Decorates a filter so that it only applies to directories and not to files.

Usage

From source file:ome.services.blitz.repo.PublicRepositoryI.java

/**
  * Get a filtered file listing based on the config options.
  */*from  www . java2 s  .  c om*/
  * @param file
  *            A File object representing the directory to be listed.
  * @param config
  *            A RepositoryListConfig object holding the filter options.
  * @return A list of File objects
  *
  */
private List<File> filteredFiles(File file, RepositoryListConfig config) throws ServerError {
    List<File> files;
    IOFileFilter filter;

    // If hidden is true list all files otherwise only those files not starting with "."
    if (config.hidden) {
        filter = FileFilterUtils.trueFileFilter();
    } else {
        filter = FileFilterUtils.notFileFilter(FileFilterUtils.prefixFileFilter("."));
    }

    // Now decorate the filter to restrict to files or directories,
    // the else case is for a bizarre config of wanting nothing returned!
    if (!(config.dirs && config.files)) {
        if (config.dirs) {
            filter = FileFilterUtils.makeDirectoryOnly(filter);
        } else if (config.files) {
            filter = FileFilterUtils.makeFileOnly(filter);
        } else {
            filter = FileFilterUtils.falseFileFilter();
        }
    }

    files = Arrays.asList(file.listFiles((FileFilter) filter));

    return files;
}