Package com.unboundid.ldap.listener
Class InMemoryListenerConfig
- java.lang.Object
-
- com.unboundid.ldap.listener.InMemoryListenerConfig
-
@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class InMemoryListenerConfig extends java.lang.Object
This class provides a data structure that can be used to configure a listener for use in the in-memory directory server. Each in-memory directory server instance has the ability to have multiple listeners, and those listeners may have different settings (e.g., listen on one port for unencrypted LDAP communication with optional support for StartTLS, and listen on a separate port for SSL-encrypted communication). If the server is to provide support for SSL and/or StartTLS, then theSSLUtil
class can make it easy to create the necessary socket factories.
-
-
Constructor Summary
Constructors Constructor Description InMemoryListenerConfig(java.lang.String listenerName, java.net.InetAddress listenAddress, int listenPort, javax.net.ServerSocketFactory serverSocketFactory, javax.net.SocketFactory clientSocketFactory, javax.net.ssl.SSLSocketFactory startTLSSocketFactory)
Creates a new in-memory directory server listener configuration with the provided settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static InMemoryListenerConfig
createLDAPConfig(java.lang.String listenerName)
Creates a new listener configuration that will listen for unencrypted LDAP communication on an automatically-selected port on all available addresses.static InMemoryListenerConfig
createLDAPConfig(java.lang.String listenerName, int listenPort)
Creates a new listener configuration that will listen for unencrypted LDAP communication on the specified port on all available addresses.static InMemoryListenerConfig
createLDAPConfig(java.lang.String listenerName, java.net.InetAddress listenAddress, int listenPort, javax.net.ssl.SSLSocketFactory startTLSSocketFactory)
Creates a new listener configuration that will listen for unencrypted LDAP communication, and may optionally support StartTLS.static InMemoryListenerConfig
createLDAPSConfig(java.lang.String listenerName, int listenPort, javax.net.ssl.SSLServerSocketFactory serverSocketFactory)
Creates a new listener configuration that will listen for SSL-encrypted LDAP communication on the specified port on all available addresses.static InMemoryListenerConfig
createLDAPSConfig(java.lang.String listenerName, java.net.InetAddress listenAddress, int listenPort, javax.net.ssl.SSLServerSocketFactory serverSocketFactory, javax.net.ssl.SSLSocketFactory clientSocketFactory)
Creates a new listener configuration that will listen for SSL-encrypted LDAP communication on an automatically-selected port on all available addresses.static InMemoryListenerConfig
createLDAPSConfig(java.lang.String listenerName, javax.net.ssl.SSLServerSocketFactory serverSocketFactory)
Creates a new listener configuration that will listen for SSL-encrypted LDAP communication on an automatically-selected port on all available addresses.javax.net.SocketFactory
getClientSocketFactory()
Retrieves the socket factory that should be used to create client connections to the server, if defined.java.net.InetAddress
getListenAddress()
Retrieves the address on which the listener should accept connections from clients, if defined.java.lang.String
getListenerName()
Retrieves the name for this listener configuration.int
getListenPort()
Retrieves the port on which the listener should accept connections from clients, if defined.javax.net.ServerSocketFactory
getServerSocketFactory()
Retrieves the socket factory that should be used to create sockets when accepting client connections, if defined.javax.net.ssl.SSLSocketFactory
getStartTLSSocketFactory()
Retrieves the socket factory that should be used to add StartTLS encryption to existing connections, if defined.java.lang.String
toString()
Retrieves a string representation of this listener configuration.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this listener configuration to the provided buffer.
-
-
-
Constructor Detail
-
InMemoryListenerConfig
public InMemoryListenerConfig(java.lang.String listenerName, java.net.InetAddress listenAddress, int listenPort, javax.net.ServerSocketFactory serverSocketFactory, javax.net.SocketFactory clientSocketFactory, javax.net.ssl.SSLSocketFactory startTLSSocketFactory) throws LDAPException
Creates a new in-memory directory server listener configuration with the provided settings.- Parameters:
listenerName
- The name to assign to this listener. It must not benull
and must not be the same as the name for any other listener configured in the server.listenAddress
- The address on which the listener should accept connections from clients. It may benull
to indicate that it should accept connections on all addresses on all interfaces.listenPort
- The port on which the listener should accept connections from clients. It may be 0 to indicate that the server should automatically choose an available port.serverSocketFactory
- The socket factory that should be used to create sockets when accepting client connections. It may benull
if the JVM-default server socket factory should be used.clientSocketFactory
- The socket factory that should be used to create client connections to the server. It may benull
if the JVM-default socket factory should be used.startTLSSocketFactory
- The socket factory that should be used to add StartTLS encryption to existing connections. It may benull
if StartTLS is not to be supported on this listener, and should benull
if the server socket factory already provides some other form of communication security.- Throws:
LDAPException
- If the provided listener name isnull
or the configured listen port is out of range.
-
-
Method Detail
-
createLDAPConfig
public static InMemoryListenerConfig createLDAPConfig(java.lang.String listenerName) throws LDAPException
Creates a new listener configuration that will listen for unencrypted LDAP communication on an automatically-selected port on all available addresses. It will not support StartTLS.- Parameters:
listenerName
- The name to use for the listener. It must not benull
.- Returns:
- The newly-created listener configuration.
- Throws:
LDAPException
- If the provided name isnull
.
-
createLDAPConfig
public static InMemoryListenerConfig createLDAPConfig(java.lang.String listenerName, int listenPort) throws LDAPException
Creates a new listener configuration that will listen for unencrypted LDAP communication on the specified port on all available addresses. It will not support StartTLS.- Parameters:
listenerName
- The name to use for the listener. It must not benull
.listenPort
- The port on which the listener should accept connections from clients. It may be 0 to indicate that the server should automatically choose an available port.- Returns:
- The newly-created listener configuration.
- Throws:
LDAPException
- If the provided listener name isnull
or the configured listen port is out of range.
-
createLDAPConfig
public static InMemoryListenerConfig createLDAPConfig(java.lang.String listenerName, java.net.InetAddress listenAddress, int listenPort, javax.net.ssl.SSLSocketFactory startTLSSocketFactory) throws LDAPException
Creates a new listener configuration that will listen for unencrypted LDAP communication, and may optionally support StartTLS.- Parameters:
listenerName
- The name to assign to this listener. It must not benull
and must not be the same as the name for any other listener configured in the server.listenAddress
- The address on which the listener should accept connections from clients. It may benull
to indicate that it should accept connections on all addresses on all interfaces.listenPort
- The port on which the listener should accept connections from clients. It may be 0 to indicate that the server should automatically choose an available port.startTLSSocketFactory
- The socket factory that should be used to add StartTLS encryption to an existing connection. It may benull
if StartTLS is not to be supported on this listener, and should benull
if the server socket factory already provides some other form of communication security.- Returns:
- The newly-created listener configuration.
- Throws:
LDAPException
- If the provided listener name isnull
or the configured listen port is out of range.
-
createLDAPSConfig
public static InMemoryListenerConfig createLDAPSConfig(java.lang.String listenerName, javax.net.ssl.SSLServerSocketFactory serverSocketFactory) throws LDAPException
Creates a new listener configuration that will listen for SSL-encrypted LDAP communication on an automatically-selected port on all available addresses.- Parameters:
listenerName
- The name to use for the listener. It must not benull
.serverSocketFactory
- The SSL server socket factory that will be used for accepting SSL-based connections from clients. It must not benull
.- Returns:
- The newly-created listener configuration.
- Throws:
LDAPException
- If the provided name isnull
.
-
createLDAPSConfig
public static InMemoryListenerConfig createLDAPSConfig(java.lang.String listenerName, int listenPort, javax.net.ssl.SSLServerSocketFactory serverSocketFactory) throws LDAPException
Creates a new listener configuration that will listen for SSL-encrypted LDAP communication on the specified port on all available addresses.- Parameters:
listenerName
- The name to use for the listener. It must not benull
.listenPort
- The port on which the listener should accept connections from clients. It may be 0 to indicate that the server should automatically choose an available port.serverSocketFactory
- The SSL server socket factory that will be used for accepting SSL-based connections from clients. It must not benull
.- Returns:
- The newly-created listener configuration.
- Throws:
LDAPException
- If the provided name isnull
.
-
createLDAPSConfig
public static InMemoryListenerConfig createLDAPSConfig(java.lang.String listenerName, java.net.InetAddress listenAddress, int listenPort, javax.net.ssl.SSLServerSocketFactory serverSocketFactory, javax.net.ssl.SSLSocketFactory clientSocketFactory) throws LDAPException
Creates a new listener configuration that will listen for SSL-encrypted LDAP communication on an automatically-selected port on all available addresses.- Parameters:
listenerName
- The name to use for the listener. It must not benull
.listenAddress
- The address on which the listener should accept connections from clients. It may benull
to indicate that it should accept connections on all addresses on all interfaces.listenPort
- The port on which the listener should accept connections from clients. It may be 0 to indicate that the server should automatically choose an available port.serverSocketFactory
- The SSL server socket factory that will be used for accepting SSL-based connections from clients. It must not benull
.clientSocketFactory
- The SSL socket factory that will be used to create secure connections to the server. It may benull
if a default "trust all" socket factory should be used.- Returns:
- The newly-created listener configuration.
- Throws:
LDAPException
- If the provided name or server socket factory isnull
, or an error occurs while attempting to create a client socket factory.
-
getListenerName
public java.lang.String getListenerName()
Retrieves the name for this listener configuration.- Returns:
- The name for this listener configuration.
-
getListenAddress
public java.net.InetAddress getListenAddress()
Retrieves the address on which the listener should accept connections from clients, if defined.- Returns:
- The address on which the listener should accept connections from
clients, or
null
if it should accept connections on all addresses on all interfaces.
-
getListenPort
public int getListenPort()
Retrieves the port on which the listener should accept connections from clients, if defined.- Returns:
- The port on which the listener should accept connections from clients, or 0 if the listener should automatically select an available port.
-
getServerSocketFactory
public javax.net.ServerSocketFactory getServerSocketFactory()
Retrieves the socket factory that should be used to create sockets when accepting client connections, if defined.- Returns:
- The socket factory that should be used to create sockets when
accepting client connections, or
null
if the JVM-default server socket factory should be used.
-
getClientSocketFactory
public javax.net.SocketFactory getClientSocketFactory()
Retrieves the socket factory that should be used to create client connections to the server, if defined.- Returns:
- The socket factory that should be used to create client
connections to the server, or
null
if the JVM-default socket factory should be used.
-
getStartTLSSocketFactory
public javax.net.ssl.SSLSocketFactory getStartTLSSocketFactory()
Retrieves the socket factory that should be used to add StartTLS encryption to existing connections, if defined.- Returns:
- The socket factory that should be used to add StartTLS encryption
to existing connections, or
null
if StartTLS should not be supported.
-
toString
public java.lang.String toString()
Retrieves a string representation of this listener configuration.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of this listener configuration.
-
toString
public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this listener configuration to the provided buffer.- Parameters:
buffer
- The buffer to which the information should be appended.
-
-