org.apache.ivy.plugins.repository.ssh

## Class AbstractSshBasedRepository

- java.lang.Object
- - org.apache.ivy.plugins.repository.AbstractRepository
  - - org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository

- All Implemented Interfaces:
    Repository
  Direct Known Subclasses:
    SFTPRepository, SshRepository

      public abstract class AbstractSshBasedRepository
      extends AbstractRepository

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractSshBasedRepository()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getHost()`
    `java.io.File` | `getKeyFile()`
    `java.lang.String` | `getKeyFilePassword()`
    `java.io.File` | `getPassFile()`
    `int` | `getPort()`
    `protected abstract java.lang.String` | `getRepositoryScheme()`
    `protected Session` | `getSession(java.lang.String pathOrUri)` get a new session using the default attributes if the given String is a full uri, use the data from the uri instead
    `java.lang.String` | `getUser()`
    `java.lang.String` | `getUserPassword()`
    `boolean` | `isAllowedAgentUse()`
    `protected void` | `releaseSession(Session session, java.lang.String pathOrUri)` closes the session and remove it from the cache (eg. on case of errors)
    `void` | `setAllowedAgentUse(boolean allowedAgentUse)`
    `void` | `setHost(java.lang.String host)`
    `void` | `setKeyFile(java.io.File filePath)` Sets the full file path to use for accessing a PEM key file
    `void` | `setKeyFilePassword(java.lang.String keyFilePassword)`
    `void` | `setPassFile(java.io.File passFile)`
    `void` | `setPort(int port)`
    `void` | `setUser(java.lang.String user)` set the default user to use for the connection if no user is given or a PEM file is used
    `void` | `setUserPassword(java.lang.String password)`

    - ### Methods inherited from class org.apache.ivy.plugins.repository.AbstractRepository

      `addTransferListener, fireTransferCompleted, fireTransferCompleted, fireTransferError, fireTransferError, fireTransferEvent, fireTransferInitiated, fireTransferProgress, fireTransferStarted, fireTransferStarted, getFileSeparator, getName, hasTransferListener, put, put, removeTransferListener, setName, standardize, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.ivy.plugins.repository.Repository

      `get, getResource, list`

- - ### Constructor Detail

    - #### AbstractSshBasedRepository

          public AbstractSshBasedRepository()

  - ### Method Detail

    - #### getSession

          protected Session getSession(java.lang.String pathOrUri)
                                throws java.io.IOException

      get a new session using the default attributes if the given String is a full uri, use the data from the uri instead
      Parameters:
        `pathOrUri` - might be just a path or a full ssh or sftp uri
      Returns:
        matching Session
      Throws:
        `java.io.IOException`

    - #### releaseSession

          protected void releaseSession(Session session,
                            java.lang.String pathOrUri)

      closes the session and remove it from the cache (eg. on case of errors)
      Parameters:
        `session` - key for the cache
        `pathOrUri` - to release

    - #### setUser

          public void setUser(java.lang.String user)

      set the default user to use for the connection if no user is given or a PEM file is used
      Parameters:
        `user` - to use

    - #### getUser

          public java.lang.String getUser()

      Returns:
        the user to use for the connection if no user is given or a PEM file is used

    - #### setKeyFile

          public void setKeyFile(java.io.File filePath)

      Sets the full file path to use for accessing a PEM key file
      Parameters:
        `filePath` - fully qualified name

    - #### getKeyFile

          public java.io.File getKeyFile()

      Returns:
        the keyFile

    - #### setUserPassword

          public void setUserPassword(java.lang.String password)

      Parameters:
        `password` - password to use for user/password authentication

    - #### getKeyFilePassword

          public java.lang.String getKeyFilePassword()

      Returns:
        the keyFile password for public key based authentication

    - #### setKeyFilePassword

          public void setKeyFilePassword(java.lang.String keyFilePassword)

      Parameters:
        `keyFilePassword` - sets password for public key based authentication

    - #### getUserPassword

          public java.lang.String getUserPassword()

      Returns:
        the user password

    - #### getHost

          public java.lang.String getHost()

      Returns:
        the host

    - #### setHost

          public void setHost(java.lang.String host)

      Parameters:
        `host` - the host to set

    - #### getPort

          public int getPort()

      Returns:
        the port

    - #### setPort

          public void setPort(int port)

      Parameters:
        `port` - the port to set

    - #### setPassFile

          public void setPassFile(java.io.File passFile)

      Parameters:
        `passFile` - the passfile to set

    - #### getPassFile

          public java.io.File getPassFile()

      Returns:
        the passFile

    - #### isAllowedAgentUse

          public boolean isAllowedAgentUse()

      Returns:
        allowedAgentUse Whether use of a local SSH agent for authentication is allowed

    - #### setAllowedAgentUse

          public void setAllowedAgentUse(boolean allowedAgentUse)

      Parameters:
        `allowedAgentUse` - Whether use of a local SSH agent for authentication is allowed

    - #### getRepositoryScheme

          protected abstract java.lang.String getRepositoryScheme()