Class TransportConfigBuilder<X extends TransportConfigBuilder<?,R>,R>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionback()Return to the previous builder.build()Returns the transport config.Returns the currently configured BusAddress.withAdditionalConfig(String _key, Object _value) Adds an additional config key to the transport config.
Will overwrite value if key exists.withAutoConnect(boolean _connect) Instantly connect to DBus whenbuild()is called.withBusAddress(BusAddress _address) Set theBusAddresswhich should be used for the connection.withConfig(TransportConfig _config) Use the predefined TransportConfig.withListening(boolean _listen) Use true to use the transport as listener (server).withPreConnectCallback(Consumer<AbstractTransport> _callback) Set a callback which will be called right before the connection to the transport is established.Removes an additional config key to of transport config.
Will do nothing if key does not exist.withSaslAuthMode(TransportBuilder.SaslAuthMode _authMode) Set a different SASL authentication mode.withSaslUid(long _saslUid) Set to UID to present during SASL authentication.withTimeout(int _timeout) Setup a timeout for the transport.withUnixSocketFileGroup(String _group) The group of the socket file if a unix socket is used and this is a server transport.withUnixSocketFileOwner(String _user) The owner of the socket file if a unix socket is used and this is a server transport.withUnixSocketFilePermissions(PosixFilePermission... _permissions) The permissions which will be set on socket file if a unix socket is used and this is a server transport.
-
Constructor Details
-
TransportConfigBuilder
-
-
Method Details
-
withConfig
Use the predefined TransportConfig.Using this will override any previous configuration and replaces the internal configuration object with the given instance.
- Parameters:
_config- configuration, never null- Returns:
- this
-
withBusAddress
Set theBusAddresswhich should be used for the connection.- Parameters:
_address- address to use- Returns:
- this
-
getBusAddress
Returns the currently configured BusAddress.- Returns:
- BusAddress, maybe null
-
withPreConnectCallback
Set a callback which will be called right before the connection to the transport is established.The given consumer will receive the created
AbstractTransportobject which is not yet connected. A callback should NEVER connect the transport, but is allowed to do further configuration if needed.- Parameters:
_callback- consumer to call, null to remove any callback- Returns:
- this
-
withAutoConnect
Instantly connect to DBus whenbuild()is called.default: true
- Parameters:
_connect- boolean- Returns:
- this
-
withSaslAuthMode
Set a different SASL authentication mode.Usually when a unixsocket based transport is used,
TransportBuilder.SaslAuthMode.AUTH_EXTERNALwill be used. For TCP based transportTransportBuilder.SaslAuthMode.AUTH_COOKIEwill be used.- Parameters:
_authMode- authmode to use, if null is given, default mode will be used- Returns:
- this
-
withListening
Use true to use the transport as listener (server).- Parameters:
_listen- true to be a listening connection- Returns:
- this
-
withTimeout
Setup a timeout for the transport.This option might not be used by every transport (e.g. unix sockets do not support a timeout). Timeout cannot be less than zero.
- Parameters:
_timeout- true to be a listening connection- Returns:
- this
-
withSaslUid
Set to UID to present during SASL authentication.Default is the user of the running JVM process on Unix-like operating systems. On Windows, the default is zero.
- Parameters:
_saslUid- UID to set, if a negative long is given the default is used- Returns:
- this
-
withUnixSocketFileOwner
The owner of the socket file if a unix socket is used and this is a server transport.Default is the user of the running JVM process.
Please note:
The running process user has to have suitable permissions to change the owner of the file. Otherwise the file owner will not be changed!- Parameters:
_user- user to set, if null is given JVM process user is used- Returns:
- this
-
withUnixSocketFileGroup
The group of the socket file if a unix socket is used and this is a server transport.Default is the group of the running JVM process.
Please note:
The running process user has to have suitable permissions to change the group of the file. Otherwise the file group will not be changed!- Parameters:
_group- group to set, if null is given JVM process group is used- Returns:
- this
-
withUnixSocketFilePermissions
The permissions which will be set on socket file if a unix socket is used and this is a server transport.This method does nothing when used on windows systems. Please note:
The running process user has to have suitable permissions to change the permissions of the file. Otherwise the file permissions will not be changed!- Parameters:
_permissions- permissions to set, if null is given default permissions will be used- Returns:
- this
-
withAdditionalConfig
Adds an additional config key to the transport config.
Will overwrite value if key exists.- Parameters:
_key- key to use_value- value to use- Returns:
- this
-
withRemoveAdditionalConfig
Removes an additional config key to of transport config.
Will do nothing if key does not exist.- Parameters:
_key- key to remove- Returns:
- this
-
back
Return to the previous builder.This allows you to return from the this builder to the builder which started this builder so you can continue using the previous builder.
- Returns:
- previous builder, maybe null
-
build
Returns the transport config.- Returns:
- config
-