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 com.google.common.base.Preconditions;
12 import java.util.List;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
16 public final class SimpleBGPTableTypeRegistryProviderActivator implements AutoCloseable {
18 private static final Logger LOG = LoggerFactory.getLogger(SimpleBGPTableTypeRegistryProviderActivator.class);
20 private final BGPTableTypeRegistryProvider providerContext;
21 private final List<BGPTableTypeRegistryProviderActivator> extensionActivators;
23 public SimpleBGPTableTypeRegistryProviderActivator(final BGPTableTypeRegistryProvider providerContext,
24 final List<BGPTableTypeRegistryProviderActivator> extensionActivators) {
25 this.providerContext = Preconditions.checkNotNull(providerContext);
26 this.extensionActivators = Preconditions.checkNotNull(extensionActivators);
30 LOG.info("Starting {} BGPTableTypeRegistryProviderActivator instances", this.extensionActivators.size());
32 this.extensionActivators.forEach(activator -> activator.startBGPTableTypeRegistryProvider(this.providerContext));
37 LOG.info("Stopping {} BGPTableTypeRegistryProviderActivator instances", this.extensionActivators.size());
39 this.extensionActivators.forEach(BGPTableTypeRegistryProviderActivator::stopBGPTableTypeRegistryProvider);