Remove use of CheckedFuture in clustering-it-provider
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / Consumer.java
1 /*
2  * Copyright (c) 2013 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.sal.core.api;
9
10 import java.util.Collection;
11 import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession;
12
13 /**
14  * Defines the component of controller and supplies additional metadata. A
15  * component of the controller or application supplies a concrete implementation
16  * of this interface.
17  *
18  * <p>
19  * A user-implemented component (application) which facilitates the SAL and SAL
20  * services to access infrastructure services or providers' functionality.
21  *
22  * @deprecated Use blueprint instead for code wiring.
23  */
24 @Deprecated
25 public interface Consumer {
26
27     /**
28      * Callback signaling initialization of the consumer session to the SAL.
29      *
30      * <p>
31      * The consumer MUST use the session for all communication with SAL or
32      * retrieving SAL infrastructure services.
33      *
34      * <p>
35      * This method is invoked by {@link Broker#registerConsumer(Consumer)}
36      *
37      * @param session
38      *            Unique session between consumer and SAL.
39      */
40     void onSessionInitiated(ConsumerSession session);
41
42     /**
43      * Deprecated.
44      *
45      * @deprecated - no longer used or needed. Suggested implementation until removed:
46      *   {@code
47      *       public Collection<ConsumerFunctionality> getConsumerFunctionality() {
48      *           return Collections.emptySet();
49      *       }
50      *   }
51      */
52     @Deprecated
53     Collection<ConsumerFunctionality> getConsumerFunctionality();
54
55     /**
56      * Deprecated.
57      *
58      * @deprecated - no longer used or needed
59      */
60     @Deprecated
61     interface ConsumerFunctionality {
62
63     }
64 }