org.eclipse.jgit.transport
Class SshSessionFactory

java.lang.Object
  extended by org.eclipse.jgit.transport.SshSessionFactory
Direct Known Subclasses:
JschConfigSessionFactory

public abstract class SshSessionFactory
extends Object

Creates and destroys SSH connections to a remote system.

Different implementations of the session factory may be used to control communicating with the end-user as well as reading their personal SSH configuration settings, such as known hosts and private keys.

A RemoteSession must be returned to the factory that created it. Callers are encouraged to retain the SshSessionFactory for the duration of the period they are using the Session.


Constructor Summary
SshSessionFactory()
           
 
Method Summary
static SshSessionFactory getInstance()
          Get the currently configured JVM-wide factory.
abstract  RemoteSession getSession(URIish uri, CredentialsProvider credentialsProvider, FS fs, int tms)
          Open (or reuse) a session to a host.
 void releaseSession(RemoteSession session)
          Close (or recycle) a session to a host.
static void setInstance(SshSessionFactory newFactory)
          Change the JVM-wide factory to a different implementation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SshSessionFactory

public SshSessionFactory()
Method Detail

getInstance

public static SshSessionFactory getInstance()
Get the currently configured JVM-wide factory.

A factory is always available. By default the factory will read from the user's $HOME/.ssh and assume OpenSSH compatibility.

Returns:
factory the current factory for this JVM.

setInstance

public static void setInstance(SshSessionFactory newFactory)
Change the JVM-wide factory to a different implementation.

Parameters:
newFactory - factory for future sessions to be created through. If null the default factory will be restored.s

getSession

public abstract RemoteSession getSession(URIish uri,
                                         CredentialsProvider credentialsProvider,
                                         FS fs,
                                         int tms)
                                  throws TransportException
Open (or reuse) a session to a host.

A reasonable UserInfo that can interact with the end-user (if necessary) is installed on the returned session by this method.

The caller must connect the session by invoking connect() if it has not already been connected.

Parameters:
uri - URI information about the remote host
credentialsProvider - provider to support authentication, may be null.
fs - the file system abstraction which will be necessary to perform certain file system operations.
tms - Timeout value, in milliseconds.
Returns:
a session that can contact the remote host.
Throws:
TransportException - the session could not be created.

releaseSession

public void releaseSession(RemoteSession session)
Close (or recycle) a session to a host.

Parameters:
session - a session previously obtained from this factory's getSession(URIish, CredentialsProvider, FS, int) method.


Copyright © 2012. All Rights Reserved.