package com.linkedin.restli.client; import java.util.HashMap; import java.util.Map; public class ParSeqRestliClientConfigBuilder { private final Map<String, Long> _timeoutMsConfig = new HashMap<>(); private final Map<String, Boolean> _batchingEnabledConfig = new HashMap<>(); private final Map<String, Integer> _maxBatchSizeConfig = new HashMap<>(); public ParSeqRestliClientConfigBuilder() { } public ParSeqRestliClientConfigBuilder(ParSeqRestliClientConfig config) { addConfig(config); } public void addConfig(ParSeqRestliClientConfig config) { addTimeoutMsConfigMap(config.getTimeoutMsConfig()); addBatchingEnabledConfigMap(config.isBatchingEnabledConfig()); addMaxBatchSizeConfigMap(config.getMaxBatchSizeConfig()); } public ParSeqRestliClientConfig build() { return new ParSeqRestliClientConfigImpl(_timeoutMsConfig, _batchingEnabledConfig, _maxBatchSizeConfig); } public ParSeqRestliClientConfigBuilder addTimeoutMs(String key, long value) { _timeoutMsConfig.put(key, value); return this; } public ParSeqRestliClientConfigBuilder addTimeoutMsConfigMap(Map<String, Long> config) { _timeoutMsConfig.putAll(config); return this; } public ParSeqRestliClientConfigBuilder addBatchingEnabled(String key, boolean value) { _batchingEnabledConfig.put(key, value); return this; } public ParSeqRestliClientConfigBuilder addBatchingEnabledConfigMap(Map<String, Boolean> config) { _batchingEnabledConfig.putAll(config); return this; } public ParSeqRestliClientConfigBuilder addMaxBatchSize(String key, int value) { _maxBatchSizeConfig.put(key, value); return this; } public ParSeqRestliClientConfigBuilder addMaxBatchSizeConfigMap(Map<String, Integer> config) { _maxBatchSizeConfig.putAll(config); return this; } }