Sonar cleanup
[policy/drools-pdp.git] / policy-endpoints / src / main / java / org / onap / policy / drools / event / comm / bus / BusTopicSource.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * policy-endpoints
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.drools.event.comm.bus;
22
23 import org.onap.policy.drools.event.comm.TopicSource;
24
25 /**
26  * Generic Topic Source for UEB/DMAAP Communication Infrastructure
27  *
28  */
29 public interface BusTopicSource extends ApiKeyEnabled, TopicSource {
30         
31         /**
32          * Default Consumer Instance Value
33          */
34         public static String DEFAULT_CONSUMER_INSTANCE = "0";
35         
36         /**
37          * Default Timeout fetching in milliseconds
38          */
39         public static int DEFAULT_TIMEOUT_MS_FETCH = 15000;
40         
41         /**
42          * Default maximum number of messages fetch at the time
43          */
44         public static int DEFAULT_LIMIT_FETCH = 100;
45         
46         /**
47          * Definition of No Timeout fetching
48          */
49         public static int NO_TIMEOUT_MS_FETCH = -1;
50         
51         /**
52          * Definition of No limit fetching
53          */
54         public static int NO_LIMIT_FETCH = -1;
55         
56         /**
57          * gets the consumer group
58          * 
59          * @return consumer group
60          */
61         public String getConsumerGroup();
62         
63         /**
64          * gets the consumer instance
65          * 
66          * @return consumer instance
67          */
68         public String getConsumerInstance();
69         
70         /**
71          * gets the fetch timeout
72          * 
73          * @return fetch timeout
74          */
75         public int getFetchTimeout();
76         
77         /**
78          * gets the fetch limit
79          * 
80          * @return fetch limit
81          */
82         public int getFetchLimit();
83 }