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
`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 and 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

Methods
`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, finalize, 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`