public void filterPaths(PathImpl path, String prefix, PathCallback cb)
  {
    if (! path.exists() || ! path.canRead()) {
      return;
    }
    
    if (! isValidPrefix(path, prefix)) {
      return;
    }
    
    if (path.isDirectory()) {
      try {
        String []list = path.list();

        for (int i = 0; i < list.length; i++) {
          String name = list[i];
          
          if (".".equals(name) || "..".equals(name))
            continue;
          
          // jsp/187j
          PathImpl subpath = path.lookup("./" + name);
          
          filterPaths(subpath, prefix, cb);
        }
      } catch (IOException e) {
        log.log(Level.WARNING, e.toString(), e);
      }
    }
    
    if (path.exists()) {
      // server/2438 - logging on unreadable
      //  if (path.canRead()) {
      if (isMatch(path, prefix)) {
        String suffix = "";
        String fullPath = path.getPath();

        if (prefix.length() < fullPath.length())
          suffix = path.getPath().substring(prefix.length());

        path.setUserPath(_userPathPrefix + suffix);

        cb.onMatch(path);
      }
    }
  }
public void filterPaths ( PathImpl path , String prefix , PathCallback cb ) { if ( ! path . exists ( ) || ! path . canRead ( ) ) { return ; } if ( ! isValidPrefix ( path , prefix ) ) { return ; } if ( path . isDirectory ( ) ) { try { String [ ] list = path . list ( ) ; for ( int i = 0 ; i < list . length ; i ++ ) { String name = list [ i ] ; if ( "." . equals ( name ) || ".." . equals ( name ) ) continue ; PathImpl subpath = path . lookup ( "./" + name ) ; filterPaths ( subpath , prefix , cb ) ; } } catch ( IOException e ) { log . log ( Level . WARNING , e . toString ( ) , e ) ; } } if ( path . exists ( ) ) { if ( isMatch ( path , prefix ) ) { String suffix = "" ; String fullPath = path . getPath ( ) ; if ( prefix . length ( ) < fullPath . length ( ) ) suffix = path . getPath ( ) . substring ( prefix . length ( ) ) ; path . setUserPath ( _userPathPrefix + suffix ) ; cb . onMatch ( path ) ; } } }
Returns the set of files.