equal
deleted
inserted
replaced
281 throw new UnsupportedOperationException("Syntax '" + syntax + |
281 throw new UnsupportedOperationException("Syntax '" + syntax + |
282 "' not recognized"); |
282 "' not recognized"); |
283 } |
283 } |
284 } |
284 } |
285 |
285 |
286 // match in uppercase |
286 // match in unicode_case_insensitive |
287 StringBuilder sb = new StringBuilder(expr.length()); |
287 final Pattern pattern = Pattern.compile(expr, |
288 for (int i=0; i<expr.length(); i++) { |
288 Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); |
289 sb.append(Character.toUpperCase(expr.charAt(i))); |
|
290 } |
|
291 expr = sb.toString(); |
|
292 |
289 |
293 // return matcher |
290 // return matcher |
294 final Pattern pattern = Pattern.compile(expr); |
|
295 return new PathMatcher() { |
291 return new PathMatcher() { |
296 @Override |
292 @Override |
297 public boolean matches(Path path) { |
293 public boolean matches(Path path) { |
298 // match in uppercase |
294 return pattern.matcher(path.toString()).matches(); |
299 String s = path.toString(); |
|
300 StringBuilder sb = new StringBuilder(s.length()); |
|
301 for (int i=0; i<s.length(); i++) { |
|
302 sb.append( Character.toUpperCase(s.charAt(i)) ); |
|
303 } |
|
304 return pattern.matcher(sb).matches(); |
|
305 } |
295 } |
306 }; |
296 }; |
307 } |
297 } |
308 private static final String GLOB_SYNTAX = "glob"; |
298 private static final String GLOB_SYNTAX = "glob"; |
309 private static final String REGEX_SYNTAX = "regex"; |
299 private static final String REGEX_SYNTAX = "regex"; |