2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.protocol.bgp.openconfig.spi;
11 import static java.util.Objects.requireNonNull;
13 import com.google.common.base.Preconditions;
14 import java.util.List;
15 import org.slf4j.Logger;
16 import org.slf4j.LoggerFactory;
18 public final class SimpleBGPTableTypeRegistryProviderActivator implements AutoCloseable {
20 private static final Logger LOG = LoggerFactory.getLogger(SimpleBGPTableTypeRegistryProviderActivator.class);
22 private final BGPTableTypeRegistryProvider providerContext;
23 private final List<BGPTableTypeRegistryProviderActivator> extensionActivators;
25 public SimpleBGPTableTypeRegistryProviderActivator(final BGPTableTypeRegistryProvider providerContext,
26 final List<BGPTableTypeRegistryProviderActivator> extensionActivators) {
27 this.providerContext = requireNonNull(providerContext);
28 this.extensionActivators = requireNonNull(extensionActivators);
32 LOG.info("Starting {} BGPTableTypeRegistryProviderActivator instances", this.extensionActivators.size());
34 this.extensionActivators.forEach(activator -> activator.startBGPTableTypeRegistryProvider(this.providerContext));
39 LOG.info("Stopping {} BGPTableTypeRegistryProviderActivator instances", this.extensionActivators.size());
41 this.extensionActivators.forEach(BGPTableTypeRegistryProviderActivator::stopBGPTableTypeRegistryProvider);