public class SftpClientDirectoryScanner extends PathScanningMatcher
SftpClient
to scan a directory (possibly recursively) and find files that match a given set of
inclusion patterns.Modifier and Type | Class and Description |
---|---|
static class |
SftpClientDirectoryScanner.ScanDirEntry
The result of a scan
|
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
basedir |
caseSensitive, includePatterns, separator
Constructor and Description |
---|
SftpClientDirectoryScanner() |
SftpClientDirectoryScanner(boolean caseSensitive) |
SftpClientDirectoryScanner(java.lang.String dir) |
SftpClientDirectoryScanner(java.lang.String dir,
java.util.Collection<java.lang.String> includes) |
SftpClientDirectoryScanner(java.lang.String dir,
java.lang.String... includes) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
createRelativePath(java.lang.String parent,
java.lang.String name) |
java.lang.String |
getBasedir() |
java.lang.String |
getSeparator() |
java.util.Collection<SftpClientDirectoryScanner.ScanDirEntry> |
scan(SftpClient client)
Scans the current
basedir |
<C extends java.util.Collection<SftpClientDirectoryScanner.ScanDirEntry>> |
scan(SftpClient client,
java.util.function.Supplier<? extends C> factory) |
protected <C extends java.util.Collection<SftpClientDirectoryScanner.ScanDirEntry>> |
scandir(SftpClient client,
java.lang.String rootDir,
java.lang.String parent,
C filesList) |
void |
setBasedir(java.lang.String basedir) |
void |
setIncludes(java.util.Collection<java.lang.String> includes) |
void |
setSeparator(java.lang.String separator) |
couldHoldIncluded, getIncludes, isCaseSensitive, isIncluded, normalizePattern, setCaseSensitive, setIncludes
public SftpClientDirectoryScanner()
public SftpClientDirectoryScanner(boolean caseSensitive)
public SftpClientDirectoryScanner(java.lang.String dir)
public SftpClientDirectoryScanner(java.lang.String dir, java.lang.String... includes)
public SftpClientDirectoryScanner(java.lang.String dir, java.util.Collection<java.lang.String> includes)
public java.lang.String getBasedir()
public void setBasedir(java.lang.String basedir)
basedir
- The base directory from which to start scanning. Note: it is converted to its canonical
form when scanning. May not be null
/emptypublic java.lang.String getSeparator()
getSeparator
in class PathScanningMatcher
public void setSeparator(java.lang.String separator)
setSeparator
in class PathScanningMatcher
public void setIncludes(java.util.Collection<java.lang.String> includes)
setIncludes
in class PathScanningMatcher
public java.util.Collection<SftpClientDirectoryScanner.ScanDirEntry> scan(SftpClient client) throws java.io.IOException, java.lang.IllegalStateException
basedir
client
- The SftpClient
instance to useCollection
of SftpClientDirectoryScanner.ScanDirEntry
-ies matching the inclusion patterns
java.io.IOException
- If failed to access the remote file systemjava.lang.IllegalStateException
- If illegal/missing base directory, or missing inclusion patterns, or specified base
path is not a directorypublic <C extends java.util.Collection<SftpClientDirectoryScanner.ScanDirEntry>> C scan(SftpClient client, java.util.function.Supplier<? extends C> factory) throws java.io.IOException, java.lang.IllegalStateException
java.io.IOException
java.lang.IllegalStateException
protected <C extends java.util.Collection<SftpClientDirectoryScanner.ScanDirEntry>> C scandir(SftpClient client, java.lang.String rootDir, java.lang.String parent, C filesList) throws java.io.IOException
C
- Generic collection typeclient
- The SftpClient
instance 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 (never null
) Collection
of SftpClientDirectoryScanner.ScanDirEntry
-ies to updateCollection
of SftpClientDirectoryScanner.ScanDirEntry
-iesjava.io.IOException
- If failed to access remote file systemprotected java.lang.String createRelativePath(java.lang.String parent, java.lang.String name)