package de.is24.deadcode4j; import javax.annotation.Nonnull; import java.io.File; import java.io.FileFilter; import static com.google.common.base.Preconditions.checkArgument; import static org.apache.commons.io.filefilter.TrueFileFilter.TRUE; /** * A <code>Repository</code> represents a directory containing code, resources, configuration, etc. * along with an optional file filter. * * @since 1.2.0 */ public class Repository { @Nonnull private final File directory; @Nonnull private final FileFilter fileFilter; public Repository(@Nonnull File directory, @Nonnull FileFilter fileFilter) { checkArgument(directory.isDirectory(), "No valid directory: " + directory); this.directory = directory; this.fileFilter = fileFilter; } public Repository(@Nonnull File directory) { this(directory, TRUE); } @Nonnull @Override public String toString() { return "Repository @" + this.directory; } @Nonnull public File getDirectory() { return directory; } @Nonnull public FileFilter getFileFilter() { return fileFilter; } }