Remove netconf from commons/opendaylight pom
[controller.git] / opendaylight / netconf / netconf-client / src / main / java / org / opendaylight / controller / netconf / client / conf / NetconfReconnectingClientConfiguration.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.netconf.client.conf;
9
10 import com.google.common.base.MoreObjects.ToStringHelper;
11 import com.google.common.base.Preconditions;
12 import java.net.InetSocketAddress;
13 import org.opendaylight.controller.netconf.client.NetconfClientSessionListener;
14 import org.opendaylight.controller.netconf.nettyutil.handler.ssh.authentication.AuthenticationHandler;
15 import org.opendaylight.controller.netconf.util.messages.NetconfHelloMessageAdditionalHeader;
16 import org.opendaylight.protocol.framework.ReconnectStrategy;
17 import org.opendaylight.protocol.framework.ReconnectStrategyFactory;
18
19 public final class NetconfReconnectingClientConfiguration extends NetconfClientConfiguration {
20
21     private final ReconnectStrategyFactory connectStrategyFactory;
22
23     NetconfReconnectingClientConfiguration(final NetconfClientProtocol clientProtocol, final InetSocketAddress address,
24             final Long connectionTimeoutMillis, final NetconfHelloMessageAdditionalHeader additionalHeader,
25             final NetconfClientSessionListener sessionListener, final ReconnectStrategy reconnectStrategy,
26             final ReconnectStrategyFactory connectStrategyFactory, final AuthenticationHandler authHandler) {
27         super(clientProtocol, address, connectionTimeoutMillis, additionalHeader, sessionListener, reconnectStrategy,
28                 authHandler);
29         this.connectStrategyFactory = connectStrategyFactory;
30         validateReconnectConfiguration();
31     }
32
33     public ReconnectStrategyFactory getConnectStrategyFactory() {
34         return connectStrategyFactory;
35     }
36
37     private void validateReconnectConfiguration() {
38         Preconditions.checkNotNull(connectStrategyFactory);
39     }
40
41     @Override
42     protected ToStringHelper buildToStringHelper() {
43         return super.buildToStringHelper().add("connectStrategyFactory", connectStrategyFactory);
44     }
45 }