Package org.apache.sshd.sftp.client.fs
Class SftpClientDirectoryScanner
- java.lang.Object
-
- org.apache.sshd.common.util.io.PathScanningMatcher
-
- org.apache.sshd.sftp.client.fs.SftpClientDirectoryScanner
-
public class SftpClientDirectoryScanner extends org.apache.sshd.common.util.io.PathScanningMatcherUses anSftpClientto scan a directory (possibly recursively) and find files that match a given set of inclusion patterns.- Author:
- Apache MINA SSHD Project
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSftpClientDirectoryScanner.ScanDirEntryThe result of a scan
-
Constructor Summary
Constructors Constructor Description SftpClientDirectoryScanner()SftpClientDirectoryScanner(boolean caseSensitive)SftpClientDirectoryScanner(String dir)SftpClientDirectoryScanner(String dir, String... includes)SftpClientDirectoryScanner(String dir, Collection<String> includes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringcreateRelativePath(String parent, String name)StringgetBasedir()StringgetSeparator()Collection<SftpClientDirectoryScanner.ScanDirEntry>scan(SftpClient client)Scans the currentbasedir<C extends Collection<SftpClientDirectoryScanner.ScanDirEntry>>
Cscan(SftpClient client, Supplier<? extends C> factory)protected <C extends Collection<SftpClientDirectoryScanner.ScanDirEntry>>
Cscandir(SftpClient client, String rootDir, String parent, C filesList)voidsetBasedir(String basedir)voidsetIncludes(Collection<String> includes)voidsetSeparator(String separator)
-
-
-
Field Detail
-
basedir
protected String basedir
-
-
Constructor Detail
-
SftpClientDirectoryScanner
public SftpClientDirectoryScanner()
-
SftpClientDirectoryScanner
public SftpClientDirectoryScanner(boolean caseSensitive)
-
SftpClientDirectoryScanner
public SftpClientDirectoryScanner(String dir)
-
SftpClientDirectoryScanner
public SftpClientDirectoryScanner(String dir, Collection<String> includes)
-
-
Method Detail
-
getBasedir
public String getBasedir()
-
setBasedir
public void setBasedir(String basedir)
- Parameters:
basedir- The base directory from which to start scanning. Note: it is converted to its canonical form when scanning. May not benull/empty
-
getSeparator
public String getSeparator()
- Overrides:
getSeparatorin classorg.apache.sshd.common.util.io.PathScanningMatcher
-
setSeparator
public void setSeparator(String separator)
- Overrides:
setSeparatorin classorg.apache.sshd.common.util.io.PathScanningMatcher
-
setIncludes
public void setIncludes(Collection<String> includes)
- Overrides:
setIncludesin classorg.apache.sshd.common.util.io.PathScanningMatcher
-
scan
public Collection<SftpClientDirectoryScanner.ScanDirEntry> scan(SftpClient client) throws IOException, IllegalStateException
Scans the currentbasedir- Parameters:
client- TheSftpClientinstance to use- Returns:
- A
CollectionofSftpClientDirectoryScanner.ScanDirEntry-ies matching theinclusion patterns - Throws:
IOException- If failed to access the remote file systemIllegalStateException- If illegal/missing base directory, or missing inclusion patterns, or specified base path is not a directory
-
scan
public <C extends Collection<SftpClientDirectoryScanner.ScanDirEntry>> C scan(SftpClient client, Supplier<? extends C> factory) throws IOException, IllegalStateException
- Throws:
IOExceptionIllegalStateException
-
scandir
protected <C extends Collection<SftpClientDirectoryScanner.ScanDirEntry>> C scandir(SftpClient client, String rootDir, String parent, C filesList) throws IOException
- Type Parameters:
C- Generic collection type- Parameters:
client- TheSftpClientinstance to userootDir- The absolute path of the folder to readparent- The relative parent of the folder to read - may be empty for base directoryfilesList- The (nevernull)CollectionofSftpClientDirectoryScanner.ScanDirEntry-ies to update- Returns:
- The updated
CollectionofSftpClientDirectoryScanner.ScanDirEntry-ies - Throws:
IOException- If failed to access remote file system
-
-