Package de.adrianlange.mcd
Class MailserverConfigurationDiscoveryContextBuilder
- java.lang.Object
-
- de.adrianlange.mcd.MailserverConfigurationDiscoveryContextBuilder
-
public class MailserverConfigurationDiscoveryContextBuilder extends Object
Builder for aMailserverConfigurationDiscoveryContext.
-
-
Constructor Summary
Constructors Constructor Description MailserverConfigurationDiscoveryContextBuilder()Create new builder with default values.
-
Method Summary
-
-
-
Method Detail
-
withDiscoveryScopes
public MailserverConfigurationDiscoveryContextBuilder withDiscoveryScopes(MailserverConfigurationDiscoveryContext.DiscoveryScope... discoveryScopes)
Sets the discovery scopes to declare which kind of configurations should be discovered.- Parameters:
discoveryScopes- Scopes to discover configurations for- Returns:
- builder
-
withConfigurationMethods
public MailserverConfigurationDiscoveryContextBuilder withConfigurationMethods(ConfigurationMethod... configurationMethods)
Sets the configuration methods to declare which configuration method should be considered for discovery.- Parameters:
configurationMethods- Configuration methods to consider- Returns:
- builder
-
withExecutor
public MailserverConfigurationDiscoveryContextBuilder withExecutor(Executor executor)
Sets the executor to run concurrent configuration discovery.- Parameters:
executor- The executor to use- Returns:
- builder
-
withDnsServer
public MailserverConfigurationDiscoveryContextBuilder withDnsServer(String dnsServer) throws UnknownHostException
Adds a DNS server.- Parameters:
dnsServer- DNS server address- Returns:
- builder
- Throws:
UnknownHostException- if DNS server host name is invalid (seeInetAddress)
-
withDnsLookupTimeout
public MailserverConfigurationDiscoveryContextBuilder withDnsLookupTimeout(Duration timeout)
Sets the DNS lookup timeout.- Parameters:
timeout- Timeout for DNS lookups- Returns:
- builder
-
withDnsLookupRetries
public MailserverConfigurationDiscoveryContextBuilder withDnsLookupRetries(int retries)
Sets the number of retries for DNS lookups.- Parameters:
retries- number of retries- Returns:
- builder
-
useTcpForDnsLookups
public MailserverConfigurationDiscoveryContextBuilder useTcpForDnsLookups(boolean useTcp)
Sets if TCP should be used for DNS lookups or UDP.- Parameters:
useTcp- set true if TCP should be used for DNS lookups, UDP is used otherwise- Returns:
- builder
-
build
public MailserverConfigurationDiscoveryContext build()
Builds the context object.- Returns:
- Context object
-
-