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
Modifier and Type
Field
Description
`static final boolean`
`DEFAULT_FALLBACK_PORT`
`static String`
`DEFAULT_HOST`
`static final int`
`DEFAULT_KEEPALIVE`
`static final String`
`DEFAULT_NAME`
`static final int`
`DEFAULT_PORT`
`static final 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
Constructor
Description
`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

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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 Details

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