2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
8 package org.opendaylight.controller.sal.core.api.notify;
\r
10 import org.opendaylight.controller.sal.core.api.Broker;
\r
11 import org.opendaylight.controller.sal.core.api.Provider;
\r
12 import org.opendaylight.controller.yang.data.api.CompositeNode;
\r
16 * Notification Publishing Service
\r
18 * The simplified process of the notification publishing is following:
\r
21 * <li> {@link Provider} invokes {@link #sendNotification(CompositeNode)}
\r
22 * <li> {@link Broker} finds {@link NotificationListener}s which subscribed for
\r
23 * the notification type.
\r
25 * <li>For each subscriber {@link Broker} invokes
\r
26 * {@link NotificationListener#onNotification(CompositeNode)}
\r
32 public interface NotificationProviderService extends NotificationService {
\r
35 * Publishes a notification.
\r
37 * Notification type is determined by the
\r
38 * {@link CompositeNode#getNodeType()} of the
\r
39 * <code>notification<code> parameter.
\r
41 * @param notification
\r
42 * Notification to publish
\r
44 void sendNotification(CompositeNode notification);
\r