Package org.eclipse.ecf.provider.generic

## Class SSLServerSOContainer

- java.lang.Object
- - org.eclipse.ecf.core.AbstractContainer
  - - org.eclipse.ecf.provider.generic.SOContainer
    - - org.eclipse.ecf.provider.generic.ServerSOContainer
      - - org.eclipse.ecf.provider.generic.SSLServerSOContainer

All Implemented Interfaces:
  `org.eclipse.core.runtime.IAdaptable`, `IContainer`, `IIdentifiable`, `IReliableContainer`, `ISharedObjectContainer`, `ISharedObjectContainerGroupManager`, `IConnectRequestHandler`

    public class SSLServerSOContainer
    extends ServerSOContainer
    implements IConnectRequestHandler

Since:
  4.3

### Field Summary

Fields
`static boolean` `DEFAULT_FALLBACK_PORT`
`static String` `DEFAULT_HOST`
`static int` `DEFAULT_KEEPALIVE`
`static String` `DEFAULT_NAME`
`static int` `DEFAULT_PORT`
`static String` `DEFAULT_PROTOCOL`
`protected SSLServerSOContainerGroup` `group`
`protected boolean` `isSingle`
`protected int` `keepAlive`

### Fields inherited from class org.eclipse.ecf.provider.generic.ServerSOContainer

`connectHandlerPolicy`

### Fields inherited from class org.eclipse.ecf.provider.generic.SOContainer

`config, DEFAULT_OBJECT_ARG_KEY, DEFAULT_OBJECT_ARGTYPES_KEY, groupManager, isClosing, loadingThreadGroup, policy, receiver, sharedObjectManager, sharedObjectMessageSerializer, sharedObjectThreadGroup`

### Constructor Summary

Constructors
`SSLServerSOContainer​(ISharedObjectContainerConfig config)`
`SSLServerSOContainer​(ISharedObjectContainerConfig config, int keepAlive)`
`SSLServerSOContainer​(ISharedObjectContainerConfig config, int port, InetAddress bindAddress, String path, int keepAlive)`
`SSLServerSOContainer​(ISharedObjectContainerConfig config, InetAddress bindAddress, int keepAlive)`
`SSLServerSOContainer​(ISharedObjectContainerConfig config, SSLServerSocket sslServerSocket, int keepAlive)`
`SSLServerSOContainer​(ISharedObjectContainerConfig config, SSLServerSOContainerGroup grp, int keepAlive)`
`SSLServerSOContainer​(ISharedObjectContainerConfig config, SSLServerSOContainerGroup listener, String path, int keepAlive)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `dispose()` Dispose this IContainer instance.
`protected Serializable` `getConnectDataFromInput​(Serializable input)`
`static String` `getDefaultServerURL()`
`protected int` `getKeepAlive()`
`static String` `getServerURL​(String host, String name)`
`Serializable` `handleConnectRequest​(Socket socket, String target, Serializable data, ISynchAsynchConnection conn)` Handle a connect request from remote client
`protected void` `initialize​(SSLServerSOContainerGroup listener, String path, int ka)`

### Methods inherited from class org.eclipse.ecf.provider.generic.ServerSOContainer

`acceptNewClient, checkJoin, connect, disconnect, ejectAllGroupMembers, ejectGroupMember, forwardExcluding, forwardToRemote, getConnectedID, getConnectionForID, getIDForConnection, getSynchConnectionForID, handleLeaveGroupMessage, handleViewChangeMessage, isGroupManager, processDisconnect, queueContainerMessage, setConnectPolicy`

### Methods inherited from class org.eclipse.ecf.provider.generic.SOContainer

`addNewRemoteMember, addSharedObject0, addSharedObjectAndWait, addSharedObjectWrapper, addToLoading, checkRemoteCreate, createContainerPropertiesForSharedObject, createRemoteSharedObjectConfig, createRemoteSharedObjectContext, createRemoteSharedObjectWrapper, createSharedObjectConfig, createSharedObjectContext, createSharedObjectWrapper, debug, defaultDeserializeSharedObjectMessage, defaultSerializeSharedObjectMessage, deserializeContainerMessage, deserializeSharedObjectMessage, destroySharedObject, disconnect, fireDelegateContainerEvent, forward, getAdapter, getArgsFromProperties, getArgTypesFromProperties, getClassLoaderForContainer, getClassLoaderForSharedObject, getConfig, getConnectNamespace, getGroupMemberIDs, getGroupMembershipLock, getID, getMaxGroupMembers, getMessageReceiver, getNewSharedObjectThread, getNextSequenceNumber, getOtherMemberIDs, getReceiver, getSharedObject, getSharedObjectIDs, getSharedObjectManager, getSharedObjectMessageSerializer, getSharedObjectWrapper, handleAsynchIOException, handleCreateMessage, handleCreateResponseMessage, handleLeave, handleSharedObjectDisposeMessage, handleSharedObjectMessage, handleUndeliveredSharedObjectMessage, handleUnidentifiedMessage, isClosing, load, moveFromLoadingToActive, notifySharedObjectActivated, notifySharedObjectDeactivated, printToSystemError, processAsynch, processSynch, removeFromLoading, removeRemoteMember, removeSharedObject, sendCreate, sendCreateResponse, sendCreateResponseSharedObjectMessage, sendCreateSharedObjectMessage, sendDispose, sendDisposeSharedObjectMessage, sendMessage, sendMessage, sendSharedObjectMessage, serialize, serializeSharedObjectMessage, setMaxGroupMembers, setRemoteAddPolicy, setSharedObjectMessageSerializer, traceStack, validateContainerMessage, verifySharedObjectMessageTarget, verifyToIDForSharedObjectMessage`

### Methods inherited from class org.eclipse.ecf.core.AbstractContainer

`addListener, fireContainerEvent, getPasswordFromConnectContext, removeListener`

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

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

### Methods inherited from interface org.eclipse.ecf.core.IContainer

`addListener, removeListener`

### Field Detail

#### DEFAULT_PROTOCOL

    public static final String DEFAULT_PROTOCOL

See Also:
  Constant Field Values

#### DEFAULT_PORT

    public static final int DEFAULT_PORT

#### DEFAULT_KEEPALIVE

    public static final int DEFAULT_KEEPALIVE

#### DEFAULT_NAME

    public static final String DEFAULT_NAME

#### DEFAULT_HOST

    public static String DEFAULT_HOST

#### DEFAULT_FALLBACK_PORT

    public static final boolean DEFAULT_FALLBACK_PORT

#### keepAlive

    protected int keepAlive

#### group

    protected SSLServerSOContainerGroup group

#### isSingle

    protected boolean isSingle

### Constructor Detail

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config,
                                int port,
                                InetAddress bindAddress,
                                String path,
                                int keepAlive)
                         throws IOException

Parameters:
  `config` - config
  `port` - port
  `bindAddress` - bind address
  `path` - path
  `keepAlive` - keep alive
Throws:
  `IOException` - if some problem
Since:
  4.4

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config,
                                SSLServerSocket sslServerSocket,
                                int keepAlive)
                         throws IOException,
                                URISyntaxException

Parameters:
  `config` - config
  `sslServerSocket` - socket
  `keepAlive` - keep alive
Throws:
  `IOException` - if some problem
  `URISyntaxException` - if some problem
Since:
  4.6

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config,
                                InetAddress bindAddress,
                                int keepAlive)
                         throws IOException,
                                URISyntaxException

Parameters:
  `config` - config
  `bindAddress` - bind address
  `keepAlive` - keep alive
Throws:
  `IOException` - if some problem
  `URISyntaxException` - if some problem with uri syntax based upon getID().getName()
Since:
  4.4

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config,
                                SSLServerSOContainerGroup grp,
                                int keepAlive)
                         throws IOException,
                                URISyntaxException

Throws:
  `IOException`
  `URISyntaxException`

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config,
                                SSLServerSOContainerGroup listener,
                                String path,
                                int keepAlive)

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config)
                         throws IOException,
                                URISyntaxException

Throws:
  `IOException`
  `URISyntaxException`

#### SSLServerSOContainer

    public SSLServerSOContainer​(ISharedObjectContainerConfig config,
                                int keepAlive)
                         throws IOException,
                                URISyntaxException

Throws:
  `IOException`
  `URISyntaxException`

### Method Detail

#### getKeepAlive

    protected int getKeepAlive()

#### getServerURL

    public static String getServerURL​(String host,
                                      String name)

#### getDefaultServerURL

    public static String getDefaultServerURL()

#### initialize

    protected void initialize​(SSLServerSOContainerGroup listener,
                              String path,
                              int ka)

#### dispose

    public void dispose()

Description copied from interface: `IContainer`
Dispose this IContainer instance. The container instance will be made inactive after the completion of this method and will be unavailable for subsequent usage.

Specified by:
  `dispose` in interface `IContainer`
Overrides:
  `dispose` in class `ServerSOContainer`

#### handleConnectRequest

    public Serializable handleConnectRequest​(Socket socket,
                                             String target,
                                             Serializable data,
                                             ISynchAsynchConnection conn)

Description copied from interface: `IConnectRequestHandler`
Handle a connect request from remote client

Specified by:
  `handleConnectRequest` in interface `IConnectRequestHandler`
Parameters:
  `socket` - the Socket that the request came in on
  `target` - the target that the request is intended for
  `data` - any data that was sent along with request (e.g. password or other authentication data)
  `conn` - the connection instance that received the request
Returns:
  any data intended as a response. If null is returned, this typically means refusal of connect request

#### getConnectDataFromInput

    protected Serializable getConnectDataFromInput​(Serializable input)
                                            throws Exception

Throws:
  `Exception`