Merge "Adapt A1 controller to latest A1 spec"
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / dmaap / DmaapMessageConsumer.java
1
2 /*-
3  * ========================LICENSE_START=================================
4  * O-RAN-SC
5  * %%
6  * Copyright (C) 2019 Nordix Foundation
7  * %%
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ========================LICENSE_END===================================
20  */
21
22 package org.oransc.policyagent.dmaap;
23
24 /**
25  * The Dmaap consumer which has the base methods to be implemented by any class which implements this interface
26  *
27  */
28 public interface DmaapMessageConsumer {
29
30     /**
31      * The init method creates the MRConsumer with the properties passed from the Application Config
32      *
33      * @param properties
34      */
35     public void init();
36
37     /**
38      * This method process the message and call the respective Controller
39      *
40      * @param msg
41      * @throws Exception
42      */
43     public abstract void processMsg(String msg) throws Exception;
44
45     /**
46      * To check whether the DMAAP Listner is alive
47      *
48      * @return boolean
49      */
50     public boolean isAlive();
51
52     /**
53      * To Stop the DMAAP Listener
54      */
55     public void stopConsumer();
56
57     /**
58      * It's a infinite loop run every configured seconds to fetch the message from DMAAP. This method can be stop by
59      * setting the alive flag to false
60      */
61     public void run();
62
63 }