Bump upstreams
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / ForwardingPingPongDataBroker.java
1 /*
2  * Copyright (c) 2018 Red Hat, 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.openflowplugin.impl;
9
10 import static java.util.Objects.requireNonNull;
11
12 import org.eclipse.jdt.annotation.NonNull;
13 import org.opendaylight.mdsal.binding.api.DataBroker;
14 import org.opendaylight.mdsal.binding.api.TransactionChain;
15 import org.opendaylight.mdsal.binding.spi.ForwardingDataBroker;
16
17 /**
18  * Delegating {@link PingPongDataBroker} implementation.
19  * This is useful for simple strongly typed dependency injection.
20  *
21  * @author Michael Vorburger.ch
22  */
23 // FIXME: this should not be necessary
24 public class ForwardingPingPongDataBroker extends ForwardingDataBroker implements PingPongDataBroker {
25     private final @NonNull DataBroker delegate;
26
27     public ForwardingPingPongDataBroker(final DataBroker delegate) {
28         this.delegate = requireNonNull(delegate);
29     }
30
31     @Override
32     protected DataBroker delegate() {
33         return delegate;
34     }
35
36     @Override
37     public TransactionChain createTransactionChain() {
38         return delegate().createMergingTransactionChain();
39     }
40 }