Interface FileSystemExceptionFactory
-
- All Known Implementing Classes:
DefaultFileSystemExceptionFactory
public interface FileSystemExceptionFactory
A factory for creatingFileSystemException
s based on replies from an FTP server.It's not always possible to distinguish different types of errors. For instance, a 550 error code (file unavailable) could indicate that a file does not exist (which should trigger a
NoSuchFileException
), or that a file is inaccessible (which should trigger aAccessDeniedException
), or possibly another reason. This interface allows users to provide their own mapping, based on both the reply code and the reply string from an FTP reply.Ideally implementations return exceptions that implement
FTPResponse
, such asFTPNoSuchFileException
,FTPAccessDeniedException
orFTPFileSystemException
. This way, the original FTP reply code and message will be reserved.- Author:
- Rob Spoor
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description FileSystemException
createChangeWorkingDirectoryException(String directory, int replyCode, String replyString)
Creates aFileSystemException
that indicates a directory cannot be used as the current working directory.FileSystemException
createCopyException(String file, String other, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file or directory cannot be copied.FileSystemException
createCreateDirectoryException(String directory, int replyCode, String replyString)
Creates aFileSystemException
that indicates a directory cannot be created.FileSystemException
createDeleteException(String file, int replyCode, String replyString, boolean isDirectory)
Creates aFileSystemException
that indicates a file or directory cannot be deleted.FileSystemException
createGetFileException(String file, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file or directory cannot be retrieved.FileSystemException
createMoveException(String file, String other, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file or directory cannot be moved.FileSystemException
createNewInputStreamException(String file, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file cannot be opened for reading.FileSystemException
createNewOutputStreamException(String file, int replyCode, String replyString, Collection<? extends OpenOption> options)
Creates aFileSystemException
that indicates a file cannot be opened for writing.
-
-
-
Method Detail
-
createGetFileException
FileSystemException createGetFileException(String file, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file or directory cannot be retrieved.Note that the LIST command is used to retrieve a file or directory. This will often return with a 226 code even if a file or directory cannot be retrieved. This does not mean that the LIST call was actually successful.
- Parameters:
file
- A string identifying the file or directory.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.- Returns:
- The created
FileSystemException
.
-
createChangeWorkingDirectoryException
FileSystemException createChangeWorkingDirectoryException(String directory, int replyCode, String replyString)
Creates aFileSystemException
that indicates a directory cannot be used as the current working directory.- Parameters:
directory
- A string identifying the directory.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.- Returns:
- The created
FileSystemException
.
-
createCreateDirectoryException
FileSystemException createCreateDirectoryException(String directory, int replyCode, String replyString)
Creates aFileSystemException
that indicates a directory cannot be created.- Parameters:
directory
- A string identifying the directory.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.- Returns:
- The created
FileSystemException
.
-
createDeleteException
FileSystemException createDeleteException(String file, int replyCode, String replyString, boolean isDirectory)
Creates aFileSystemException
that indicates a file or directory cannot be deleted.- Parameters:
file
- A string identifying the file or directory.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.isDirectory
-true
if a directory cannot be deleted, orfalse
if a file cannot be deleted.- Returns:
- The created
FileSystemException
.
-
createNewInputStreamException
FileSystemException createNewInputStreamException(String file, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file cannot be opened for reading.- Parameters:
file
- A string identifying the file.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.- Returns:
- The created
FileSystemException
.
-
createNewOutputStreamException
FileSystemException createNewOutputStreamException(String file, int replyCode, String replyString, Collection<? extends OpenOption> options)
Creates aFileSystemException
that indicates a file cannot be opened for writing.- Parameters:
file
- A string identifying the file.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.options
- The open options used to open the file.- Returns:
- The created
FileSystemException
.
-
createCopyException
FileSystemException createCopyException(String file, String other, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file or directory cannot be copied.- Parameters:
file
- A string identifying the file or directory to be copied.other
- A string identifying the file or directory to be copied to.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.- Returns:
- The created
FileSystemException
.
-
createMoveException
FileSystemException createMoveException(String file, String other, int replyCode, String replyString)
Creates aFileSystemException
that indicates a file or directory cannot be moved.- Parameters:
file
- A string identifying the file or directory to be moved.other
- A string identifying the file or directory to be moved to.replyCode
- The integer value of the reply code of the last FTP reply that triggered this method call.replyString
- The entire text from the last FTP response that triggered this method call.- Returns:
- The created
FileSystemException
.
-
-