*/
package org.opendaylight.controller.sal.binding.api;
-import java.util.Collection;
-
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
-import org.opendaylight.yangtools.yang.binding.RpcService;
/**
*
*
* To get a NotificationService:
*
- * {code
+ * {@code
* public void onSessionInitiated(ProviderContext session) {
* NotificationProviderService notificationService = session.getSALService(NotificationProviderService.class);
* }
+ * }
* For more information on sending notifications via the NotificationProviderService
* @see org.opendaylight.controller.sal.binding.api.NotificationProviderService
*
* To register an RPC implementation:
*
- * {code
+ * {@code
* public void onSessionInitiated(ProviderContext session) {
* RpcRegistration<MyService> registration = session.addRpcImplementation(MyService.class, myImplementationInstance);
* }
+ * }
*
* <p>
- *
* Where MyService.class is a Service interface generated from a yang model with RPCs modeled in it and myImplementationInstance
* is an instance of a class that implements MyService.
*
* To register a Routed RPC Implementation:
- * {code
+ * {@code
* public void onSessionInitiated(ProviderContext session) {
* RoutedRpcRegistration<SalFlowService> flowRegistration = session.addRoutedRpcImplementation(SalFlowService.class, salFlowServiceImplementationInstance);
flowRegistration.registerPath(NodeContext.class, nodeInstanceId);
* of a class that implements SalFlowService.
* <p>
* The line:
- * {code
+ * {@code
* flowRegistration.registerPath(NodeContext.class, nodeInstanceId);
* }
* Is indicating that the RPC implementation is registered to handle RPC invocations that have their NodeContext pointing to the node with instance id nodeInstanceId.
*
* To get a DataBroker to allow access to the data tree:
*
- * {code
+ * {@code
* public void onSessionInitiated(final ProviderContext session) {
* DataBroker databroker = session.getSALService(BindingDataBroker.class);
* }
* }
- * @see org.opendaylight.controller.md.sal.common.api.data.BindingDataBroker
- * for more info on using the DataBroker.
- *
*/
public interface BindingAwareProvider {
- /**
- * @deprecated
- *
- * This interface was originally intended to solve problems of how to get Implementations
- * of functionality from a provider, but that is no longer necessary because the Provider
- * Registers RPCs in onSessionInitiated.
- *
- * Recommend:
- * {code
- * public Collection<? extends RpcService> getImplementations() {
- * return Collections.emptySet();
- * }
- * }
- */
- @Deprecated
- Collection<? extends RpcService> getImplementations();
-
- /**
- * @deprecated
- *
- * This interface was originally intended to solve problems of how to get Functionality
- * a provider could provide, but that is no longer necessary because the Provider
- * Registers RPCs in onSessionInitiated.
- *
- * Recommend:
- * {code
- * public Collection<? extends ProviderFunctionality> getFunctionality() {
- * return Collections.emptySet();
- * }
- * }
- *
- */
- @Deprecated
- Collection<? extends ProviderFunctionality> getFunctionality();
-
- /**
- * Functionality provided by the {@link BindingAwareProvider}
- *
- * <p>
- * Marker interface used to mark the interfaces describing specific
- * functionality which could be exposed by providers to other components.
- *
- *
- *
- */
- @Deprecated
- public interface ProviderFunctionality {
-
- }
/**
* Callback signaling initialization of the consumer session to the SAL.
*
* @param session Unique session between consumer and SAL.
*/
void onSessionInitiated(ProviderContext session);
-
- /*
- * @deprecated
- *
- * A provider was at one point considered an extension of a consumer, thus this
- * call. It is deprecated and the @see org.opendaylight.controller.sal.binding.api.BindingAwareConsumer#onSessionInitiated
- * used, or you should simply use {@link #onSessionInitiated(ProviderContext)}
- *
- * Recommend:
- * {code
- * public final void onSessionInitialized(ConsumerContext session) {
- * // NOOP - as method is deprecated
- * }
- * }
- */
- @Deprecated
- void onSessionInitialized(ConsumerContext session);
-
}