Interface SftpVersionSelector

  • All Known Implementing Classes:
    SftpVersionSelector.NamedVersionSelector
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface SftpVersionSelector
    • Method Detail

      • selectVersion

        int selectVersion​(ClientSession session,
                          int current,
                          java.util.List<java.lang.Integer> available)
        Parameters:
        session - The ClientSession through which the SFTP connection is made
        current - The current version negotiated with the server
        available - Extra versions available - may be empty and/or contain only the current one
        Returns:
        The new requested version - if same as current, then nothing is done
      • fixedVersionSelector

        static SftpVersionSelector fixedVersionSelector​(int version)
        Creates a selector the always returns the requested (fixed version) regardless of what the current or reported available versions are. If the requested version is not reported as available then an exception will be eventually thrown by the client during re-negotiation phase.
        Parameters:
        version - The requested version
        Returns:
        The SftpVersionSelector
      • preferredVersionSelector

        static SftpVersionSelector preferredVersionSelector​(int... preferred)
        Selects a version in order of preference - if none of the preferred versions is listed as available then an exception is thrown when the selectVersion(ClientSession, int, List) method is invoked
        Parameters:
        preferred - The preferred versions in decreasing order of preference (i.e., most preferred is 1st) - may not be null/empty
        Returns:
        A SftpVersionSelector that attempts to select the most preferred version that is also listed as available.
      • preferredVersionSelector

        static SftpVersionSelector preferredVersionSelector​(java.lang.Iterable<? extends java.lang.Number> preferred)
        Selects a version in order of preference - if none of the preferred versions is listed as available then an exception is thrown when the selectVersion(ClientSession, int, List) method is invoked
        Parameters:
        preferred - The preferred versions in decreasing order of preference (i.e., most preferred is 1st)
        Returns:
        A SftpVersionSelector that attempts to select the most preferred version that is also listed as available.