package com.github.kpavlov.jreactive8583.client; import com.github.kpavlov.jreactive8583.ConnectorConfiguration; public class ClientConfiguration extends ConnectorConfiguration { /** * Default client reconnect interval in milliseconds. */ private static final int DEFAULT_RECONNECT_INTERVAL = 100; private int reconnectInterval = DEFAULT_RECONNECT_INTERVAL; /** * @deprecated Use {@link Builder} */ @Deprecated public ClientConfiguration() { this(newBuilder()); } private ClientConfiguration(Builder builder) { super(builder); this.reconnectInterval = builder.reconnectInterval; } public static ClientConfiguration.Builder newBuilder() { return new ClientConfiguration.Builder(); } public static ClientConfiguration getDefault() { return newBuilder().build(); } /** * Client reconnect interval in milliseconds. * * @return interval between reconnects, in milliseconds. */ public int getReconnectInterval() { return reconnectInterval; } /** * @deprecated Use {@link Builder} * @param reconnectInterval interval between reconnects, in milliseconds. */ @Deprecated public void setReconnectInterval(int reconnectInterval) { this.reconnectInterval = reconnectInterval; } public static class Builder extends ConnectorConfiguration.Builder<Builder> { private int reconnectInterval = DEFAULT_RECONNECT_INTERVAL; public Builder withReconnectInterval(int reconnectInterval) { this.reconnectInterval = reconnectInterval; return this; } public ClientConfiguration build() { return new ClientConfiguration(this); } } }