Package de.adrianlange.mcd
Class MailserverConfigurationDiscoveryContextBuilder
java.lang.Object
de.adrianlange.mcd.MailserverConfigurationDiscoveryContextBuilder
Builder for a
MailserverConfigurationDiscoveryContext.-
Constructor Summary
ConstructorsConstructorDescriptionCreate new builder with default values. -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the context object.useTcpForDnsLookups(boolean useTcp) Sets if TCP should be used for DNS lookups or UDP.withConfigurationMethods(ConfigurationMethod... configurationMethods) Sets the configuration methods to declare which configuration method should be considered for discovery.withDiscoveryScopes(MailserverConfigurationDiscoveryContext.DiscoveryScope... discoveryScopes) Sets the discovery scopes to declare which kind of configurations should be discovered.withDnsLookupRetries(int retries) Sets the number of retries for DNS lookups.withDnsLookupTimeout(Duration timeout) Sets the DNS lookup timeout.withDnsServer(String dnsServer) Adds a DNS server.withExecutor(Executor executor) Sets the executor to run concurrent configuration discovery.
-
Constructor Details
-
MailserverConfigurationDiscoveryContextBuilder
public MailserverConfigurationDiscoveryContextBuilder()Create new builder with default values.
-
-
Method Details
-
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
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
Sets the DNS lookup timeout.- Parameters:
timeout- Timeout for DNS lookups- Returns:
- builder
-
withDnsLookupRetries
Sets the number of retries for DNS lookups.- Parameters:
retries- number of retries- Returns:
- builder
-
useTcpForDnsLookups
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
Builds the context object.- Returns:
- Context object
-