Package com.pixelmed.ftp

## Class FTPRemoteHostInformation

- java.lang.Object
- - com.pixelmed.ftp.FTPRemoteHostInformation

-     public class FTPRemoteHostInformation
      extends java.lang.Object

  This class encapsulates information about remote FTP servers.

  The following properties are supported:

  `Ftp.RemoteHosts` - a space or comma separated list of the local names all the available remote hosts; each local name may be anything unique (in this file) without a space or comma; the local name does not need to be the same as the remote host's name

  `Ftp.XXXX.HostNameOrIPAddress` - for the remote host with local name XXXX, what host or IP addess that AE will listen on for incoming connections

  `Ftp.XXXX.User` - for the remote host with local name XXXX, what user name to login with

  `Ftp.XXXX.Password` - for the remote host with local name XXXX, what password to login with

  `Ftp.XXXX.Directory` - for the remote host with local name XXXX, what initial working directory to change to

  `Ftp.XXXX.Security` - for the remote host with local name XXXX, what the type of security to use (supported values are NONE, TLS)

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.util.TreeMap<java.lang.String,​FTPRemoteHost>` | `localNameToRemoteHostMap` |
    `protected static java.lang.String` | `propertyDelimitersForTokenizer_FtpRemoteAEs` |
    `static java.lang.String` | `propertyName_FtpRemoteHosts` |
    `protected static java.lang.String` | `propertyNameSuffix_Directory` |
    `protected static java.lang.String` | `propertyNameSuffix_HostNameOrIPAddress` |
    `protected static java.lang.String` | `propertyNameSuffix_Password` |
    `protected static java.lang.String` | `propertyNameSuffix_Security` |
    `protected static java.lang.String` | `propertyNameSuffix_User` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FTPRemoteHostInformation()` | Construct an empty container for properties of FTP network devices.
    `FTPRemoteHostInformation​(java.util.Properties properties)` | Extract the FTP network properties from the supplied properties.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(java.lang.String localName, FTPRemoteHost frh)` | Add a new host.
    `void` | `add​(java.lang.String localName, java.lang.String host, java.lang.String user, java.lang.String password, java.lang.String directory, FTPSecurityType security)` | Add a new remote FTP host.
    `java.util.Set` | `getListOfLocalNames()` | Return the set of local names of remote hosts.
    `java.util.Properties` | `getProperties​(java.util.Properties properties)` | Retrieve the FTP network properties.
    `FTPRemoteHost` | `getRemoteHost​(java.lang.String localName)` | Get the information for the specified remote host.
    `void` | `remove​(java.lang.String localName)` | Remove a host.
    `void` | `removeAll()` | Completely empty all information.
    `java.lang.String` | `toString()` |

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

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

- - ### Field Detail

    - #### propertyName_FtpRemoteHosts

          public static final java.lang.String propertyName_FtpRemoteHosts

      See Also:
        Constant Field Values

    - #### propertyNameSuffix_HostNameOrIPAddress

          protected static final java.lang.String propertyNameSuffix_HostNameOrIPAddress

      See Also:
        Constant Field Values

    - #### propertyNameSuffix_User

          protected static final java.lang.String propertyNameSuffix_User

      See Also:
        Constant Field Values

    - #### propertyNameSuffix_Password

          protected static final java.lang.String propertyNameSuffix_Password

      See Also:
        Constant Field Values

    - #### propertyNameSuffix_Directory

          protected static final java.lang.String propertyNameSuffix_Directory

      See Also:
        Constant Field Values

    - #### propertyNameSuffix_Security

          protected static final java.lang.String propertyNameSuffix_Security

      See Also:
        Constant Field Values

    - #### propertyDelimitersForTokenizer_FtpRemoteAEs

          protected static final java.lang.String propertyDelimitersForTokenizer_FtpRemoteAEs

      See Also:
        Constant Field Values

    - #### localNameToRemoteHostMap

          protected final java.util.TreeMap<java.lang.String,​FTPRemoteHost> localNameToRemoteHostMap

  - ### Constructor Detail

    - #### FTPRemoteHostInformation

          public FTPRemoteHostInformation()

      Construct an empty container for properties of FTP network devices.

    - #### FTPRemoteHostInformation

          public FTPRemoteHostInformation​(java.util.Properties properties)
                                   throws FTPException

      Extract the FTP network properties from the supplied properties.

      Parameters:
        `properties` -
      Throws:
        `FTPException`

  - ### Method Detail

    - #### getProperties

          public java.util.Properties getProperties​(java.util.Properties properties)

      Retrieve the FTP network properties.

      param properties the existing properties to add to (removing any properties already there), or null if none
      Returns:
        the updated properties or a new set of properties if none supplied

    - #### removeAll

          public void removeAll()

      Completely empty all information.

    - #### remove

          public void remove​(java.lang.String localName)

      Remove a host.

      Parameters:
        `localName` -

    - #### add

          public void add​(java.lang.String localName,
                          FTPRemoteHost frh)
                   throws FTPException

      Add a new host.

      Parameters:
        `localName` -
        `frh` -
      Throws:
        `FTPException` - if local name already used, or either is null or empty

    - #### add

          public void add​(java.lang.String localName,
                          java.lang.String host,
                          java.lang.String user,
                          java.lang.String password,
                          java.lang.String directory,
                          FTPSecurityType security)
                   throws FTPException

      Add a new remote FTP host.

      Parameters:
        `localName` -
        `host` -
        `user` -
        `password` -
        `directory` -
        `security` -
      Throws:
        `FTPException` - if local name or AET already used, or either is null or empty

    - #### getRemoteHost

          public FTPRemoteHost getRemoteHost​(java.lang.String localName)

      Get the information for the specified remote host.

      Parameters:
        `localName` -
      Returns:
        the remote host information

    - #### getListOfLocalNames

          public java.util.Set getListOfLocalNames()

      Return the set of local names of remote hosts.

      Returns:
        the set of local names

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`