import static com.google.common.base.Verify.verifyNotNull;
-import com.google.common.annotations.Beta;
import com.google.common.primitives.UnsignedLong;
import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
import org.opendaylight.mdsal.binding.runtime.osgi.OSGiBindingRuntimeContext;
/**
* A global {@link BindingRuntimeContext}. It is injected with latest {@link OSGiBindingRuntimeContext} generation.
*/
-@Beta
@Component(service = BindingRuntimeContext.class, immediate = true)
public final class GlobalBindingRuntimeContext extends ForwardingBindingRuntimeContext {
private static final Logger LOG = LoggerFactory.getLogger(GlobalBindingRuntimeContext.class);
- @Reference
- OSGiBindingRuntimeContext osgi = null;
-
+ private final UnsignedLong generation;
private BindingRuntimeContext delegate;
- private UnsignedLong generation;
-
- @Override
- protected BindingRuntimeContext delegate() {
- return verifyNotNull(delegate);
- }
@Activate
- void activate() {
+ public GlobalBindingRuntimeContext(@Reference final OSGiBindingRuntimeContext osgi) {
generation = osgi.getGeneration();
delegate = osgi.getService();
LOG.info("Global BindingRuntimeContext generation {} activated", generation);
}
+ @Override
+ protected BindingRuntimeContext delegate() {
+ return verifyNotNull(delegate);
+ }
+
@Deactivate
void deactivate() {
delegate = null;