00001 package edu.stanford.hci.r3.util.files.filters;
00002
00003 import java.io.File;
00004 import java.io.FileFilter;
00005
00006 import edu.stanford.hci.r3.util.files.FileUtils;
00007 import edu.stanford.hci.r3.util.files.Visibility;
00008
00019 public class DirectoriesOnlyFilter implements FileFilter {
00020
00024 private boolean useVisibility = true;
00025
00029 private Visibility visibility = Visibility.VISIBLE;
00030
00036 public DirectoriesOnlyFilter(boolean useVisibilityFlag) {
00037 useVisibility = useVisibilityFlag;
00038 }
00039
00045 public DirectoriesOnlyFilter(Visibility v) {
00046 visibility = v;
00047 }
00048
00054 public boolean accept(File f) {
00055 if (!f.isDirectory()) {
00056
00057 return false;
00058 }
00059
00060 if (!useVisibility) {
00061
00062 return true;
00063 }
00064
00065
00066
00067
00068
00069
00070 if (visibility == Visibility.BOTH) {
00071 return true;
00072 }
00073 return (visibility == Visibility.INVISIBLE) == FileUtils.isHiddenOrDotFile(f);
00074 }
00075 }