[DMAAP-CLIENT] First sonar issues review part2
[dmaap/messagerouter/dmaapclient.git] / src / main / java / org / onap / dmaap / mr / client / MRClient.java
1 /*******************************************************************************
2  *  ============LICENSE_START=======================================================
3  *  org.onap.dmaap
4  *  ================================================================================
5  *  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  *  ================================================================================
7  *  Modifications Copyright © 2021 Orange.
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  *        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  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  *
23  *******************************************************************************/
24
25 package org.onap.dmaap.mr.client;
26
27 import org.slf4j.Logger;
28
29
30 public interface MRClient {
31     /**
32      * An exception at the MR layer. This is used when the HTTP transport
33      * layer returns a success code but the transaction is not completed as expected.
34      */
35     class MRApiException extends Exception {
36         private static final long serialVersionUID = 1L;
37
38         public MRApiException(String msg) {
39             super(msg);
40         }
41
42         public MRApiException(String msg, Throwable t) {
43             super(msg, t);
44         }
45     }
46
47     /**
48      * Optionally set the Logger to use.
49      *
50      * @param log log
51      */
52     void logTo(Logger log);
53
54     /**
55      * Set the API credentials for this client connection. Subsequent calls will
56      * include authentication headers.who i
57      *
58      * @param apiKey    apikey
59      * @param apiSecret apisec
60      */
61     void setApiCredentials(String apiKey, String apiSecret);
62
63     /**
64      * Remove API credentials, if any, on this connection. Subsequent calls will not include
65      * authentication headers.
66      */
67     void clearApiCredentials();
68
69     /**
70      * Close this connection. Some client interfaces have additional close capability.
71      */
72     void close();
73 }