public List<T> findAll(String path, @Nullable S conf, AlluxioConfiguration alluxioConf) {
    Preconditions.checkArgument(path != null, "path may not be null");

    List<T> factories = new ArrayList<>(mFactories);
    String libDir = PathUtils.concatPath(alluxioConf.get(PropertyKey.HOME), "lib");
    String extensionDir = alluxioConf.get(PropertyKey.EXTENSIONS_DIR);
    scanLibs(factories, libDir);
    scanExtensions(factories, extensionDir);

    List<T> eligibleFactories = new ArrayList<>();
    for (T factory : factories) {
      if (factory.supportsPath(path, conf)) {
        LOG.debug("Factory implementation {} is eligible for path {}", factory, path);
        eligibleFactories.add(factory);
      }
    }

    if (eligibleFactories.isEmpty()) {
      LOG.warn("No factory implementation supports the path {}", path);
    }
    return eligibleFactories;
  }
public List < T > findAll ( String path , @ Nullable S conf , AlluxioConfiguration alluxioConf ) { Preconditions . checkArgument ( path != null , "path may not be null" ) ; List < T > factories = new ArrayList < > ( mFactories ) ; String libDir = PathUtils . concatPath ( alluxioConf . get ( PropertyKey . HOME ) , "lib" ) ; String extensionDir = alluxioConf . get ( PropertyKey . EXTENSIONS_DIR ) ; scanLibs ( factories , libDir ) ; scanExtensions ( factories , extensionDir ) ; List < T > eligibleFactories = new ArrayList < > ( ) ; for ( T factory : factories ) { if ( factory . supportsPath ( path , conf ) ) { LOG . debug ( "Factory implementation {} is eligible for path {}" , factory , path ) ; eligibleFactories . add ( factory ) ; } } if ( eligibleFactories . isEmpty ( ) ) { LOG . warn ( "No factory implementation supports the path {}" , path ) ; } return eligibleFactories ; }
Finds all the factories that support the given path.

@param path path
@param conf configuration of the extension
@param alluxioConf Alluxio configuration
@return list of factories that support the given path which may be an empty list