1 package org.opendaylight.controller.md.sal.binding.util;
3 import java.util.concurrent.ExecutorService;
5 import org.opendaylight.controller.md.sal.common.api.RegistrationListener;
6 import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler;
7 import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandlerRegistration;
8 import org.opendaylight.controller.md.sal.common.api.data.DataReader;
9 import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener;
10 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration;
11 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration;
12 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
13 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
14 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
15 import org.opendaylight.controller.sal.binding.api.mount.MountProviderInstance;
16 import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier;
17 import org.opendaylight.yangtools.concepts.ListenerRegistration;
18 import org.opendaylight.yangtools.concepts.Registration;
19 import org.opendaylight.yangtools.yang.binding.DataObject;
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
21 import org.opendaylight.yangtools.yang.binding.Notification;
22 import org.opendaylight.yangtools.yang.binding.RpcService;
24 public abstract class AbstractBindingSalProviderInstance<D extends DataProviderService, N extends NotificationProviderService, R extends RpcProviderRegistry> //
25 extends AbstractBindingSalConsumerInstance<D, N, R> //
27 DataProviderService, //
28 RpcProviderRegistry, //
29 NotificationProviderService {
31 public AbstractBindingSalProviderInstance(R rpcRegistry, N notificationBroker,
33 super(rpcRegistry, notificationBroker, dataBroker);
37 public Registration<DataReader<InstanceIdentifier<? extends DataObject>, DataObject>> registerDataReader(
38 InstanceIdentifier<? extends DataObject> path,
39 DataReader<InstanceIdentifier<? extends DataObject>, DataObject> reader) {
40 return getDataBrokerChecked().registerDataReader(path, reader);
44 public Registration<DataCommitHandler<InstanceIdentifier<? extends DataObject>, DataObject>> registerCommitHandler(
45 InstanceIdentifier<? extends DataObject> path,
46 DataCommitHandler<InstanceIdentifier<? extends DataObject>, DataObject> commitHandler) {
47 return getDataBrokerChecked().registerCommitHandler(path, commitHandler);
51 public ListenerRegistration<RegistrationListener<DataCommitHandlerRegistration<InstanceIdentifier<? extends DataObject>, DataObject>>> registerCommitHandlerListener(
52 RegistrationListener<DataCommitHandlerRegistration<InstanceIdentifier<? extends DataObject>, DataObject>> commitHandlerListener) {
53 return getDataBrokerChecked().registerCommitHandlerListener(commitHandlerListener);
57 public <T extends RpcService> RpcRegistration<T> addRpcImplementation(Class<T> type, T implementation)
58 throws IllegalStateException {
59 return getRpcRegistryChecked().addRpcImplementation(type, implementation);
63 public <T extends RpcService> RoutedRpcRegistration<T> addRoutedRpcImplementation(Class<T> type, T implementation)
64 throws IllegalStateException {
65 return getRpcRegistryChecked().addRoutedRpcImplementation(type, implementation);
70 public void notify(Notification notification) {
71 getNotificationBrokerChecked().notify(notification);
76 public void notify(Notification notification, ExecutorService service) {
77 getNotificationBrokerChecked().notify(notification, service);
81 public void publish(Notification notification) {
82 getNotificationBrokerChecked().publish(notification);
86 public void publish(Notification notification, ExecutorService service) {
87 getNotificationBrokerChecked().publish(notification, service);
91 public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L> registerRouteChangeListener(
93 return getRpcRegistryChecked().registerRouteChangeListener(listener);