Changed to unmaintained
[appc.git] / appc-adapters / appc-dmaap-adapter / appc-message-adapter-api / src / main / java / org / onap / appc / adapter / message / Consumer.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * ============LICENSE_END=========================================================
22  */
23
24 package org.onap.appc.adapter.message;
25
26 import java.util.List;
27
28 public interface Consumer {
29
30     /**
31      * Gets a batch of messages from the topic. Defaults to 1000 messages with 15s wait for messages if empty.
32      *
33      * @return A list of strings representing the messages pulled from the topic.
34      */
35     List<String> fetch();
36
37     /**
38      * Gets a batch of messages from the topic.
39      *
40      * @param waitMs
41      *            The amount of time to wait in milliseconds if the topic is empty for data to be written. Should be no
42      *            less than 15000ms to prevent too many requests
43      * @param limit
44      *            The amount of messages to fetch
45      * @return A list of strings representing the messages pulled from the topic.
46      */
47     List<String> fetch(int waitMs, int limit);
48
49     /**
50      * Updates the api credentials for making authenticated requests.
51      *
52      * @param apiKey
53      *            The public key to authenticate with
54      * @param apiSecret
55      *            The secret key to authenticate with
56      */
57     void updateCredentials(String apiKey, String apiSecret);
58
59     /**
60      * Creates a dmaap client using a https connection
61      *
62      * @param yes
63      *            True if https should be used, false otherwise.
64      */
65     default void useHttps(boolean yes) {}
66
67     /**
68      *  Sets Blacklist time for a server with response problem in seconds
69      */
70     default void setResponseProblemBlacklistTime(String duration) {}
71
72     /**
73      *  Sets Blacklist time for a server with server problem in seconds
74      */
75     default void setServerProblemBlacklistTime(String duration) {}
76
77     /**
78      *  Sets Blacklist time for a server with DNS problem in seconds
79      */
80     default void setDnsIssueBlacklistTime(String duration) {}
81
82     /**
83      *  Sets Blacklist time for a server with IO Exception problem in seconds
84      */
85     default void setIOExceptionBlacklistTime(String duration) {}
86
87     /**
88      * Closes the dmaap client https connection.
89      */
90     default void close() {}
91
92 }