jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java
changeset 3622 9676ac8a9bf1
parent 3065 452aaa2899fc
child 5506 202f599c92aa
equal deleted inserted replaced
3621:526f2b12a0db 3622:9676ac8a9bf1
   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";