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.Buildersupplier - supplierDefaultActorTracker@Nonnull public DefaultBuilder bindHost(@Nullable String host)
Client.BuilderBy default, the host is not set which results in wildcard binding.
bindHost in interface Client.Builderhost - host to bind to, or null for wildcard binding@Nonnull public DefaultBuilder bindPort(int port)
Client.BuilderBy default, the port is 0.
bindPort in interface Client.Builderport - port to bind to@Nonnull public DefaultBuilder defaultMessageMap(@Nonnull DefaultMessageMap defaultMessageMap)
Client.BuilderdefaultMessageMap in interface Client.BuilderdefaultMessageMap - default values for messagesDefaultMessageMap@Nonnull public DefaultBuilder exceptionListener(@Nullable Consumer<Exception> listener)
Client.BuilderAll exceptions are passed from a single, separate thread.
exceptionListener in interface Client.Builderlistener - catcher of throwable objects or null to not listen@Nonnull public DefaultBuilder inputListener(@Nullable Consumer<String> listener)
Client.BuilderAll messages are passed from a single, separate thread.
inputListener in interface Client.Builderlistener - input listener or null to not listen@Nonnull public DefaultBuilder outputListener(@Nullable Consumer<String> listener)
Client.BuilderAll messages are passed from a single, separate thread.
outputListener in interface Client.Builderlistener - 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.Buildersupplier - supplierMessageSendingQueue@Nonnull public DefaultBuilder messageTagManager(@Nonnull Function<Client.WithManagement,? extends MessageTagManager> supplier)
Client.Builder
By default, the DefaultMessageTagManager is used.
messageTagManager in interface Client.Buildersupplier - supplierMessageTagManager@Nonnull public DefaultBuilder name(@Nonnull String name)
Client.Buildername in interface Client.Buildername - a name to label the client internally@Nonnull public DefaultBuilder nick(@Nonnull String nick)
Client.BuilderBy default, the nick is Kitteh.
nick in interface Client.Buildernick - nick for the client to use@Nonnull public DefaultBuilder serverPassword(@Nullable String password)
Client.BuilderIf not set, no password is sent
serverPassword in interface Client.Builderpassword - server password or null to not send one@Nonnull public DefaultBuilder realName(@Nonnull String name)
Client.BuilderBy default, the realname is Kitteh.
realName in interface Client.Buildername - 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.Buildersecure - true for TLS/SSL@Nonnull public DefaultBuilder secureKeyCertChain(@Nullable Path keyCertChainFile)
Client.BuildersecureKeyCertChain in interface Client.BuilderkeyCertChainFile - X.509 certificate chain file in PEM formatClient.Builder.secure(boolean)@Nonnull public DefaultBuilder secureKey(@Nullable Path keyFile)
Client.BuildersecureKey in interface Client.BuilderkeyFile - PKCS#8 private key file in PEM formatClient.Builder.secure(boolean)@Nonnull public DefaultBuilder secureKeyPassword(@Nullable String password)
Client.BuildersecureKeyPassword in interface Client.Builderpassword - password for private keyClient.Builder.secure(boolean)@Nonnull public DefaultBuilder secureTrustManagerFactory(@Nullable TrustManagerFactory factory)
Client.BuilderTrustManagerFactory for SSL connection.secureTrustManagerFactory in interface Client.Builderfactory - trust manager supplierClient.Builder.secure(boolean)@Nonnull public DefaultBuilder serverHost(@Nonnull String host)
Client.BuilderBy default, the host is localhost.
serverHost in interface Client.Builderhost - IRC server host@Nonnull public DefaultBuilder serverPort(int port)
Client.BuilderBy default, the port is 6667.
serverPort in interface Client.Builderport - 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.Buildersupplier - 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.Buildersupplier - 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.Buildersupplier - 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.Buildersupplier - 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.Buildersupplier - supplierDefaultServerInfo@Nonnull public DefaultBuilder user(@Nonnull String user)
Client.BuilderBy default, the user is Kitteh.
user in interface Client.Builderuser - user to connect as@Nonnull public DefaultBuilder webirc(@Nonnull String password, @Nonnull String user, @Nonnull String host, @Nonnull InetAddress ip)
Client.BuilderBy default, WebIRC is disabled.
webirc in interface Client.Builderpassword - 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.BuilderwebircRemove in interface Client.BuilderClient.Builder.webirc(String, String, String, InetAddress)@Nonnull public DefaultBuilder stsStorageManager(@Nullable StsStorageManager storageManager)
Client.BuilderBy 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.BuilderstorageManager - storage system to persist STS information per host@Nonnull public Client build()
Client.Builderbuild in interface Client.Builder@Nonnull public Client buildAndConnect()
Client.BuilderbuildAndConnect in interface Client.BuilderCopyright © 2013–2019 Kitteh. All rights reserved.