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 import java.util.Properties;
25
26 /**
27  * The Dmaap consumer which has the base methods to be implemented by any class which implements this interface
28  *
29  */
30 public interface DmaapMessageConsumer {
31
32     /**
33      * The init method creates the MRConsumer with the properties passed from the Application Config
34      *
35      * @param properties
36      */
37     public void init(Properties properties);
38
39     /**
40      * This method process the message and call the respective Controller
41      *
42      * @param msg
43      * @throws Exception
44      */
45     public abstract void processMsg(String msg) throws Exception;
46
47     /**
48      * To check whether the DMAAP Listner is alive
49      *
50      * @return boolean
51      */
52     public boolean isAlive();
53
54     /**
55      * To Stop the DMAAP Listener
56      */
57     public void stopConsumer();
58
59     /**
60      * It's a infinite loop run every configured seconds to fetch the message from DMAAP. This method can be stop by
61      * setting the alive flag to false
62      */
63     public void run();
64
65 }