Package org.apache.sshd.sftp.server
Interface SftpEventListener
- All Superinterfaces:
EventListener,org.apache.sshd.common.util.SshdEventListener
- All Known Implementing Classes:
AbstractSftpEventListenerAdapter
public interface SftpEventListener
extends org.apache.sshd.common.util.SshdEventListener
Can be used register for SFTP events. Note: it does not expose the entire set of available SFTP commands and
responses (e.g., no reports for initialization, extensions, parameters re-negotiation, etc...);
- Author:
- Apache MINA SSHD Project
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidblocked(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length, int mask, Throwable thrown) Called after blocking a file sectiondefault voidblocking(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length, int mask) Called prior to blocking a file sectiondefault voidclosed(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle, Throwable thrown) Specified file / directory has been closeddefault voidclosing(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle) Specified file / directory about to be closeddefault voidcreated(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs, Throwable thrown) Called after creating a directorydefault voidCalled prior to creating a directorydefault voiddestroying(org.apache.sshd.server.session.ServerSession session) Called when subsystem is destroyed since it was closeddefault voidCalled when subsystem is exiting due to being destroyeddefault voidinitialized(org.apache.sshd.server.session.ServerSession session, int version) Called when the SFTP protocol has been initializeddefault voidlinked(org.apache.sshd.server.session.ServerSession session, Path source, Path target, boolean symLink, Throwable thrown) Called after creating a linkdefault voidlinking(org.apache.sshd.server.session.ServerSession session, Path source, Path target, boolean symLink) Called prior to creating a linkdefault voidmodifiedAttributes(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs, Throwable thrown) Called after modifying the attributes of a file / directorydefault voidmodifyingAttributes(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs) Called prior to modifying the attributes of a file / directorydefault voidmoved(org.apache.sshd.server.session.ServerSession session, Path srcPath, Path dstPath, Collection<CopyOption> opts, Throwable thrown) Called after renaming a file / directorydefault voidmoving(org.apache.sshd.server.session.ServerSession session, Path srcPath, Path dstPath, Collection<CopyOption> opts) Called prior to renaming a file / directorydefault voidSpecified file / directory has been openeddefault voidopenFailed(org.apache.sshd.server.session.ServerSession session, String remotePath, Path localPath, boolean isDirectory, Throwable thrown) Specified file / directory could not be opened - Note: this call may occur withoutopening(ServerSession, String, Handle)ever having been calleddefault voidopening(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle) Specified file / directory is being openeddefault voidread(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen, int readLen, Throwable thrown) Result of reading from a filedefault voidreadEntries(org.apache.sshd.server.session.ServerSession session, String remoteHandle, DirectoryHandle localHandle, Map<String, Path> entries) Result of reading entries from a directory - Note: it may be a partial result if the directory contains more entries than can be accommodated in the responsedefault voidreading(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen) Preparing to read from a filedefault voidreadingEntries(org.apache.sshd.server.session.ServerSession session, String remoteHandle, DirectoryHandle localHandle) About to read entries from a directory - Note: might not be the 1st time it is called for the directory in case several iterations are required in order to go through all the entries in the directorydefault voidreceived(org.apache.sshd.server.session.ServerSession session, int type, int id) Called when a SFTP request has been received before it is processed.default voidreceivedExtension(org.apache.sshd.server.session.ServerSession session, String extension, int id) Called when a SFTP extension requestSftpConstants.SSH_FXP_EXTENDEDhas been received before it is processed.default voidremoved(org.apache.sshd.server.session.ServerSession session, Path path, boolean isDirectory, Throwable thrown) Called after a file has been removeddefault voidCalled prior to removing a filedefault voidunblocked(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length, Throwable thrown) Called prior to un-blocking a file sectiondefault voidunblocking(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length) Called prior to un-blocking a file sectionstatic <L extends SftpEventListener>
LvalidateListener(L listener) default voidwriting(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen) Preparing to write to filedefault voidwritten(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen, Throwable thrown) Finished to writing to file
-
Method Details
-
received
default void received(org.apache.sshd.server.session.ServerSession session, int type, int id) throws IOException Called when a SFTP request has been received before it is processed.- Parameters:
session- TheServerSessionthrough which the request was receivedtype- The request type; one of theSSH_FXP_*constants fromSftpConstantsid- The id received with the request- Throws:
IOException- If the request shall generate an error response. Throwing an exception fortype =SftpConstants.SSH_FXP_INITcloses the session.
-
receivedExtension
default void receivedExtension(org.apache.sshd.server.session.ServerSession session, String extension, int id) throws IOException Called when a SFTP extension requestSftpConstants.SSH_FXP_EXTENDEDhas been received before it is processed.- Parameters:
session- TheServerSessionthrough which the request was receivedextension- The extension request received; one of theSSH_EXT_*constants fromSftpConstantsid- The id received with the request- Throws:
IOException- If the request shall generate an error response.
-
initialized
default void initialized(org.apache.sshd.server.session.ServerSession session, int version) throws IOException Called when the SFTP protocol has been initialized- Parameters:
session- TheServerSessionthrough which the request was handledversion- The negotiated SFTP version- Throws:
IOException- If failed to handle the call
-
exiting
default void exiting(org.apache.sshd.server.session.ServerSession session, Handle handle) throws IOException Called when subsystem is exiting due to being destroyed- Parameters:
session- The associatedServerSessionhandle- The file / directoryHandlebeing closed due to the exit- Throws:
IOException- If failed to handle the call
-
destroying
Called when subsystem is destroyed since it was closed- Parameters:
session- The associatedServerSession- Throws:
IOException- If failed to handle the call
-
opening
default void opening(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle) throws IOException Specified file / directory is being opened- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the file / directorylocalHandle- The associated file / directoryHandle- Throws:
IOException- If failed to handle the call
-
open
default void open(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle) throws IOException Specified file / directory has been opened- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the file / directorylocalHandle- The associated file / directoryHandle- Throws:
IOException- If failed to handle the call
-
openFailed
default void openFailed(org.apache.sshd.server.session.ServerSession session, String remotePath, Path localPath, boolean isDirectory, Throwable thrown) throws IOException Specified file / directory could not be opened - Note: this call may occur withoutopening(ServerSession, String, Handle)ever having been called- Parameters:
session- TheServerSessionthrough which the request was handledremotePath- The path that was specified in the commandlocalPath- The matching resolved local pathisDirectory- Whether this was a folder or a filethrown- Non-nullreason for the failure- Throws:
IOException- If failed to handle the call
-
readingEntries
default void readingEntries(org.apache.sshd.server.session.ServerSession session, String remoteHandle, DirectoryHandle localHandle) throws IOException About to read entries from a directory - Note: might not be the 1st time it is called for the directory in case several iterations are required in order to go through all the entries in the directory- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the directorylocalHandle- The associatedDirectoryHandle- Throws:
IOException- If failed to handle the call- See Also:
-
readEntries
default void readEntries(org.apache.sshd.server.session.ServerSession session, String remoteHandle, DirectoryHandle localHandle, Map<String, Path> entries) throws IOExceptionResult of reading entries from a directory - Note: it may be a partial result if the directory contains more entries than can be accommodated in the response- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the directorylocalHandle- The associatedDirectoryHandleentries- AMapof the listed entries - key = short name, value =Pathof the sub-entry- Throws:
IOException- If failed to handle the call
-
reading
default void reading(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen) throws IOException Preparing to read from a file- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file from which to readdata- Buffer holding the read datadataOffset- Offset of read data in bufferdataLen- Requested read length- Throws:
IOException- If failed to handle the call
-
read
default void read(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen, int readLen, Throwable thrown) throws IOException Result of reading from a file- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file from which to readdata- Buffer holding the read datadataOffset- Offset of read data in bufferdataLen- Requested read lengthreadLen- Actual read length - negative if thrown exception providedthrown- Non-nullif read failed due to this exception- Throws:
IOException- If failed to handle the call
-
writing
default void writing(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen) throws IOException Preparing to write to file- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file to which to writedata- Buffer holding the written datadataOffset- Offset of write data in bufferdataLen- Requested write length- Throws:
IOException- If failed to handle the call
-
written
default void written(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, byte[] data, int dataOffset, int dataLen, Throwable thrown) throws IOException Finished to writing to file- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file to which to writedata- Buffer holding the written datadataOffset- Offset of write data in bufferdataLen- Requested write lengththrown- The reason for failing to write -nullif successful- Throws:
IOException- If failed to handle the call
-
blocking
default void blocking(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length, int mask) throws IOException Called prior to blocking a file section- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file for lockinglength- Section size for lockingmask- Lock mask flags - seeSSH_FXP_BLOCKmessage- Throws:
IOException- If failed to handle the call- See Also:
-
blocked
default void blocked(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length, int mask, Throwable thrown) throws IOException Called after blocking a file section- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file for lockinglength- Section size for lockingmask- Lock mask flags - seeSSH_FXP_BLOCKmessagethrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
unblocking
default void unblocking(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length) throws IOException Called prior to un-blocking a file section- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file for un-lockinglength- Section size for un-locking- Throws:
IOException- If failed to handle the call
-
unblocked
default void unblocked(org.apache.sshd.server.session.ServerSession session, String remoteHandle, FileHandle localHandle, long offset, long length, Throwable thrown) throws IOException Called prior to un-blocking a file section- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the filelocalHandle- The associatedFileHandleoffset- Offset in file for un-lockinglength- Section size for un-lockingthrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
closing
default void closing(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle) throws IOException Specified file / directory about to be closed- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the file / directorylocalHandle- The associated file / directoryHandle- Throws:
IOException- If failed to handle the call
-
closed
default void closed(org.apache.sshd.server.session.ServerSession session, String remoteHandle, Handle localHandle, Throwable thrown) throws IOException Specified file / directory has been closed- Parameters:
session- TheServerSessionthrough which the request was handledremoteHandle- The (opaque) assigned handle for the file / directorylocalHandle- The associated file / directoryHandlethrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
creating
default void creating(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs) throws IOExceptionCalled prior to creating a directory- Parameters:
session- TheServerSessionthrough which the request was handledpath- DirectoryPathto be createdattrs- Requested associated attributes to set- Throws:
IOException- If failed to handle the call- See Also:
-
created
default void created(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs, Throwable thrown) throws IOExceptionCalled after creating a directory- Parameters:
session- TheServerSessionthrough which the request was handledpath- DirectoryPathto be createdattrs- Requested associated attributes to setthrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
moving
default void moving(org.apache.sshd.server.session.ServerSession session, Path srcPath, Path dstPath, Collection<CopyOption> opts) throws IOException Called prior to renaming a file / directory- Parameters:
session- TheServerSessionthrough which the request was handledsrcPath- The sourcePathdstPath- The targetPathopts- The resolved renaming options- Throws:
IOException- If failed to handle the call- See Also:
-
moved
default void moved(org.apache.sshd.server.session.ServerSession session, Path srcPath, Path dstPath, Collection<CopyOption> opts, Throwable thrown) throws IOException Called after renaming a file / directory- Parameters:
session- TheServerSessionthrough which the request was handledsrcPath- The sourcePathdstPath- The targetPathopts- The resolved renaming optionsthrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
removing
default void removing(org.apache.sshd.server.session.ServerSession session, Path path, boolean isDirectory) throws IOException Called prior to removing a file- Parameters:
session- TheServerSessionthrough which the request was handledpath- ThePathabout to be removedisDirectory- Whether this is a folder or a file- Throws:
IOException- If failed to handle the call- See Also:
-
removed
default void removed(org.apache.sshd.server.session.ServerSession session, Path path, boolean isDirectory, Throwable thrown) throws IOException Called after a file has been removed- Parameters:
session- TheServerSessionthrough which the request was handledpath- ThePathto be removedisDirectory- Whether this was a folder or a filethrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
linking
default void linking(org.apache.sshd.server.session.ServerSession session, Path source, Path target, boolean symLink) throws IOException Called prior to creating a link- Parameters:
session- TheServerSessionthrough which the request was handledsource- The sourcePathtarget- The targetPathsymLink-true= symbolic link- Throws:
IOException- If failed to handle the call- See Also:
-
linked
default void linked(org.apache.sshd.server.session.ServerSession session, Path source, Path target, boolean symLink, Throwable thrown) throws IOException Called after creating a link- Parameters:
session- TheServerSessionthrough which the request was handledsource- The sourcePathtarget- The targetPathsymLink-true= symbolic linkthrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
modifyingAttributes
default void modifyingAttributes(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs) throws IOExceptionCalled prior to modifying the attributes of a file / directory- Parameters:
session- TheServerSessionthrough which the request was handledpath- The file / directoryPathto be modifiedattrs- The attributesMap- names and values depend on the O/S, view, type, etc...- Throws:
IOException- If failed to handle the call- See Also:
-
modifiedAttributes
default void modifiedAttributes(org.apache.sshd.server.session.ServerSession session, Path path, Map<String, ?> attrs, Throwable thrown) throws IOExceptionCalled after modifying the attributes of a file / directory- Parameters:
session- TheServerSessionthrough which the request was handledpath- The file / directoryPathto be modifiedattrs- The attributesMap- names and values depend on the O/S, view, type, etc...thrown- If not-nullthen the reason for the failure to execute- Throws:
IOException- If failed to handle the call
-
validateListener
-