/** * Defaults to glob. * * @param path A Globbular path * @param searchGroups Force search in Groups * @param searchFolders Force search in folders */ public ContainerVisitor(String path, Boolean searchGroups, Boolean searchFolders) { // TODO: This should do some checks to make sure $ is escaped for a regex if (path.endsWith("$")) { searchGroups = false; path = path.substring(0, path.length() - 1); } else if (path.endsWith("^")) { searchFolders = false; path = path.substring(0, path.length() - 1); } searchGroups = searchGroups == null ? Boolean.TRUE : searchGroups; searchFolders = searchFolders == null ? Boolean.TRUE : searchFolders; // TODO: Glob check? String globPath = "glob:" + path; filter = new ContainerFilter( PathMatchers.getPathMatcher(globPath, "/"), searchGroups, searchFolders); }
public ContainerVisitor(String syntaxAndPattern) { boolean searchGroups = true; boolean searchFolders = true; // TODO: This should do some checks to make sure $ is escaped for a regex if (syntaxAndPattern.endsWith("$")) { searchGroups = false; } else if (syntaxAndPattern.endsWith("^")) { searchFolders = false; } if (!searchFolders || !searchGroups) { syntaxAndPattern = syntaxAndPattern.substring(0, syntaxAndPattern.length() - 1); } filter = new ContainerFilter( PathMatchers.getPathMatcher(syntaxAndPattern, "/"), searchGroups, searchFolders); }