package de.renew.ioontology;

import java.io.File;

/**
 * Interface that represents a type for building file filters and verifying if files are to be opened externally.
 * @author Konstantin Simon Maria Moellers
 * @version 2015-10-07
 */
public interface FileFilterBuilder {

    /**
     * Builds a file filter to use with IO operations.
     *
     * @return The file filter instance.
     */
    FileFilter buildFileFilter();

    /**
     * Finds out if a file should be opened externally.
     *
     * @param file the file to check
     * @return <code>true</code>, if the file should be opened externally
     */
    boolean isExternallyOpenedFile(File file);
}