package org.nbgit.util.exclude; import java.util.Vector; public class PathPatternList { private final Vector<PathPattern> patterns = new Vector<PathPattern>(); private final String basePath; public PathPatternList(String basePath) { this.basePath = basePath; } public void add(String patternString) { PathPattern pattern = PathPattern.create(patternString); if (pattern.isExclude()) { patterns.add(pattern); } else { patterns.add(0, pattern); } } public PathPattern findPattern(String path, boolean isDirectory) { for (PathPattern pattern : patterns) { if (pattern.matches(path, isDirectory, basePath)) { return pattern; } } return null; } @Override public String toString() { StringBuilder builder = new StringBuilder(getClass().getSimpleName()); builder.append("["); builder.append(basePath); builder.append("; "); builder.append(patterns.size()); builder.append("]"); return builder.toString(); } }