BUG 2799: SPI for EventSources
[controller.git] / opendaylight / md-sal / messagebus-spi / src / main / java / org / opendaylight / controller / messagebus / spi / EventSourceRegistry.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.controller.messagebus.spi;
9
10 /**
11  *EventSourceRegistry is used to register {@link EventSource}.
12  *
13  */
14 public interface EventSourceRegistry extends AutoCloseable {
15
16     /**
17      * Registers the given EventSource for public consumption. The EventSource is
18      * associated with the node identified via {@linkEventSource#getSourceNodeKey}.
19      *
20      * @param eventSource the EventSource instance to register
21      * @return an EventSourceRegistration instance that is used to unregister the EventSource via {@link EventSourceRegistrationImpl#close()}.
22      */
23     <T extends EventSource> EventSourceRegistration<T> registerEventSource(T eventSource);
24
25 }