public class DefaultBuilder extends Object implements Client.Builder
Client.Builder
.Constructor and Description |
---|
DefaultBuilder() |
Modifier and Type | Method and Description |
---|---|
Client.Builder |
actorTracker(Function<Client.WithManagement,? extends ActorTracker> supplier)
Sets the supplier of the actor tracker.
|
Client.Builder |
authManager(Function<Client.WithManagement,? extends AuthManager> supplier)
Sets the supplier of the authentication manager.
|
DefaultBuilder |
bindHost(String host)
Binds the client to a host or IP locally.
|
DefaultBuilder |
bindPort(int port)
Binds the client to the specified port.
|
Client |
build()
Clientmaker, clientmaker, make me a client!
|
Client |
buildAndConnect()
Clientmaker, clientmaker, make me a client, build me the client,
begin connection!
|
DefaultBuilder |
capabilityManager(Function<Client.WithManagement,? extends CapabilityManager.WithManagement> supplier)
Sets the supplier of the capability manager.
|
DefaultBuilder |
defaultMessageMap(DefaultMessageMap defaultMessageMap)
Sets default messages.
|
Client.Builder |
eventManager(Function<Client.WithManagement,? extends EventManager> supplier)
Sets the supplier of the event manager.
|
DefaultBuilder |
exceptionListener(Consumer<Exception> listener)
Sets a listener for all thrown exceptions on this client.
|
DefaultBuilder |
inputListener(Consumer<String> listener)
Sets a listener for all incoming messages from the server.
|
Client.Builder |
iSupportManager(Function<Client.WithManagement,? extends ISupportManager> supplier)
Sets the supplier of the ISUPPORT manager.
|
DefaultBuilder |
messageSendingQueueSupplier(Function<Client.WithManagement,? extends MessageSendingQueue> supplier)
Sets the supplier of message sending queues, which dictate the
rate at which messages are sent by the Client to the server.
|
DefaultBuilder |
messageTagManager(Function<Client.WithManagement,? extends MessageTagManager> supplier)
Sets the supplier of the message tag manager.
|
DefaultBuilder |
name(String name)
Names the client, for internal labeling.
|
DefaultBuilder |
nick(String nick)
Sets the client's nick.
|
DefaultBuilder |
outputListener(Consumer<String> listener)
Sets a listener for all outgoing messages to the server.
|
DefaultBuilder |
realName(String name)
Sets the realname the client uses.
|
DefaultBuilder |
secure(boolean secure)
Sets whether the client connects via TLS/SSL.
|
DefaultBuilder |
secureKey(Path keyFile)
Sets the private key for SSL connection.
|
DefaultBuilder |
secureKeyCertChain(Path keyCertChainFile)
Sets the key for SSL connection.
|
DefaultBuilder |
secureKeyPassword(String password)
Sets the private key password for SSL connection.
|
DefaultBuilder |
secureTrustManagerFactory(TrustManagerFactory factory)
Sets the
TrustManagerFactory for SSL connection. |
DefaultBuilder |
serverHost(String host)
Sets the server host to which the client will connect.
|
Client.Builder |
serverInfo(Function<Client.WithManagement,? extends ServerInfo.WithManagement> supplier)
Sets the supplier of the server info.
|
DefaultBuilder |
serverPassword(String password)
Sets the server password.
|
DefaultBuilder |
serverPort(int port)
Sets the server port to which the client will connect.
|
DefaultBuilder |
stsStorageManager(StsStorageManager storageManager)
Sets the storage manager for STS (strict transport security) support.
|
String |
toString() |
DefaultBuilder |
user(String user)
Sets the user the client connects as.
|
DefaultBuilder |
webirc(String password,
String user,
String host,
InetAddress ip)
Sets all the information for, and enables, WebIRC.
|
DefaultBuilder |
webircRemove()
Removes WEBIRC settings from this builder.
|
@Nonnull public Client.Builder actorTracker(@Nonnull Function<Client.WithManagement,? extends ActorTracker> supplier)
Client.Builder
By default, the DefaultActorTracker
is used.
actorTracker
in interface Client.Builder
supplier
- supplierDefaultActorTracker
@Nonnull public DefaultBuilder bindHost(@Nullable String host)
Client.Builder
By default, the host is not set which results in wildcard binding.
bindHost
in interface Client.Builder
host
- host to bind to, or null for wildcard binding@Nonnull public DefaultBuilder bindPort(int port)
Client.Builder
By default, the port is 0.
bindPort
in interface Client.Builder
port
- port to bind to@Nonnull public DefaultBuilder defaultMessageMap(@Nonnull DefaultMessageMap defaultMessageMap)
Client.Builder
defaultMessageMap
in interface Client.Builder
defaultMessageMap
- default values for messagesDefaultMessageMap
@Nonnull public DefaultBuilder exceptionListener(@Nullable Consumer<Exception> listener)
Client.Builder
All exceptions are passed from a single, separate thread.
exceptionListener
in interface Client.Builder
listener
- catcher of throwable objects or null to not listen@Nonnull public DefaultBuilder inputListener(@Nullable Consumer<String> listener)
Client.Builder
All messages are passed from a single, separate thread.
inputListener
in interface Client.Builder
listener
- input listener or null to not listen@Nonnull public DefaultBuilder outputListener(@Nullable Consumer<String> listener)
Client.Builder
All messages are passed from a single, separate thread.
outputListener
in interface Client.Builder
listener
- output listener or null to not listen@Nonnull public DefaultBuilder messageSendingQueueSupplier(@Nonnull Function<Client.WithManagement,? extends MessageSendingQueue> supplier)
Client.Builder
By default, the SingleDelaySender
is used with a delay set
to SingleDelaySender.DEFAULT_MESSAGE_DELAY
.
messageSendingQueueSupplier
in interface Client.Builder
supplier
- supplierMessageSendingQueue
@Nonnull public DefaultBuilder messageTagManager(@Nonnull Function<Client.WithManagement,? extends MessageTagManager> supplier)
Client.Builder
By default, the DefaultMessageTagManager
is used.
messageTagManager
in interface Client.Builder
supplier
- supplierMessageTagManager
@Nonnull public DefaultBuilder name(@Nonnull String name)
Client.Builder
name
in interface Client.Builder
name
- a name to label the client internally@Nonnull public DefaultBuilder nick(@Nonnull String nick)
Client.Builder
By default, the nick is Kitteh.
nick
in interface Client.Builder
nick
- nick for the client to use@Nonnull public DefaultBuilder serverPassword(@Nullable String password)
Client.Builder
If not set, no password is sent
serverPassword
in interface Client.Builder
password
- server password or null to not send one@Nonnull public DefaultBuilder realName(@Nonnull String name)
Client.Builder
By default, the realname is Kitteh.
realName
in interface Client.Builder
name
- realname to use@Nonnull public DefaultBuilder secure(boolean secure)
Client.Builder
Note that by default the TrustManager used does not accept the
certificates of many popular networks. You must use Client.Builder.secureTrustManagerFactory(TrustManagerFactory)
to set your own
TrustManagerFactory.
secure
in interface Client.Builder
secure
- true for TLS/SSL@Nonnull public DefaultBuilder secureKeyCertChain(@Nullable Path keyCertChainFile)
Client.Builder
secureKeyCertChain
in interface Client.Builder
keyCertChainFile
- X.509 certificate chain file in PEM formatClient.Builder.secure(boolean)
@Nonnull public DefaultBuilder secureKey(@Nullable Path keyFile)
Client.Builder
secureKey
in interface Client.Builder
keyFile
- PKCS#8 private key file in PEM formatClient.Builder.secure(boolean)
@Nonnull public DefaultBuilder secureKeyPassword(@Nullable String password)
Client.Builder
secureKeyPassword
in interface Client.Builder
password
- password for private keyClient.Builder.secure(boolean)
@Nonnull public DefaultBuilder secureTrustManagerFactory(@Nullable TrustManagerFactory factory)
Client.Builder
TrustManagerFactory
for SSL connection.secureTrustManagerFactory
in interface Client.Builder
factory
- trust manager supplierClient.Builder.secure(boolean)
@Nonnull public DefaultBuilder serverHost(@Nonnull String host)
Client.Builder
By default, the host is localhost.
serverHost
in interface Client.Builder
host
- IRC server host@Nonnull public DefaultBuilder serverPort(int port)
Client.Builder
By default, the port is 6667.
serverPort
in interface Client.Builder
port
- IRC server port@Nonnull public Client.Builder authManager(@Nonnull Function<Client.WithManagement,? extends AuthManager> supplier)
Client.Builder
By default, the DefaultAuthManager
is used.
authManager
in interface Client.Builder
supplier
- supplierDefaultAuthManager
@Nonnull public DefaultBuilder capabilityManager(@Nonnull Function<Client.WithManagement,? extends CapabilityManager.WithManagement> supplier)
Client.Builder
By default, the DefaultCapabilityManager
is used.
capabilityManager
in interface Client.Builder
supplier
- supplierDefaultCapabilityManager
@Nonnull public Client.Builder eventManager(@Nonnull Function<Client.WithManagement,? extends EventManager> supplier)
Client.Builder
By default, the DefaultEventManager
is used.
eventManager
in interface Client.Builder
supplier
- supplierDefaultEventManager
@Nonnull public Client.Builder iSupportManager(@Nonnull Function<Client.WithManagement,? extends ISupportManager> supplier)
Client.Builder
By default, the DefaultISupportManager
is used.
iSupportManager
in interface Client.Builder
supplier
- supplierDefaultEventManager
@Nonnull public Client.Builder serverInfo(@Nonnull Function<Client.WithManagement,? extends ServerInfo.WithManagement> supplier)
Client.Builder
By default, the DefaultServerInfo
is used.
serverInfo
in interface Client.Builder
supplier
- supplierDefaultServerInfo
@Nonnull public DefaultBuilder user(@Nonnull String user)
Client.Builder
By default, the user is Kitteh.
user
in interface Client.Builder
user
- user to connect as@Nonnull public DefaultBuilder webirc(@Nonnull String password, @Nonnull String user, @Nonnull String host, @Nonnull InetAddress ip)
Client.Builder
By default, WebIRC is disabled.
webirc
in interface Client.Builder
password
- password as defined in the IRCd configuser
- username part of the client's addresshost
- hostname part of the client's addressip
- client's IP addressClient.Builder.webircRemove()
@Nonnull public DefaultBuilder webircRemove()
Client.Builder
webircRemove
in interface Client.Builder
Client.Builder.webirc(String, String, String, InetAddress)
@Nonnull public DefaultBuilder stsStorageManager(@Nullable StsStorageManager storageManager)
Client.Builder
By default, this is null and thus STS support is disabled. If you elect to enable STS, you are not permitted to use an insecure trust manager factory.
stsStorageManager
in interface Client.Builder
storageManager
- storage system to persist STS information per host@Nonnull public Client build()
Client.Builder
build
in interface Client.Builder
@Nonnull public Client buildAndConnect()
Client.Builder
buildAndConnect
in interface Client.Builder
Copyright © 2013–2019 Kitteh. All rights reserved.