efeaa85f9c2f3b04128035b49ca0d9a146fd232f
[dcaegen2/services/sdk.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * DCAEGEN2-SERVICES-SDK
4  * ================================================================================
5  * Copyright (C) 2018 NOKIA 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.dcaegen2.services.sdk.rest.services.dmaap.client.config;
22
23 import java.io.Serializable;
24 import org.immutables.value.Value;
25
26 /**
27  * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/28/18
28  */
29 public interface DmaapCustomConfig extends Serializable {
30
31     @Value.Parameter
32     String dmaapHostName();
33
34     @Value.Parameter
35     Integer dmaapPortNumber();
36
37     @Value.Parameter
38     String dmaapTopicName();
39
40     @Value.Parameter
41     String dmaapProtocol();
42
43     @Value.Parameter
44     String dmaapUserName();
45
46     @Value.Parameter
47     String dmaapUserPassword();
48
49     @Value.Parameter
50     String dmaapContentType();
51
52     @Value.Parameter
53     String trustStorePath();
54
55     @Value.Parameter
56     String trustStorePasswordPath();
57
58     @Value.Parameter
59     String keyStorePath();
60
61     @Value.Parameter
62     String keyStorePasswordPath();
63
64     @Value.Parameter
65     Boolean enableDmaapCertAuth();
66
67     interface Builder<T extends DmaapCustomConfig, B extends Builder<T, B>> {
68
69         B dmaapHostName(String dmaapHostName);
70
71         B dmaapPortNumber(Integer dmaapPortNumber);
72
73         B dmaapTopicName(String dmaapTopicName);
74
75         B dmaapProtocol(String dmaapProtocol);
76
77         B dmaapUserName(String dmaapUserName);
78
79         B dmaapUserPassword(String dmaapUserPassword);
80
81         B dmaapContentType(String dmaapContentType);
82
83         B trustStorePath(String trustStorePath);
84
85         B trustStorePasswordPath(String trustStorePasswordPath);
86
87         B keyStorePath(String keyStore);
88
89         B keyStorePasswordPath(String keyStorePass);
90
91         B enableDmaapCertAuth(Boolean enableDmaapCertAuth);
92
93         T build();
94     }
95 }