Add 'sdk/java-v2/' from commit '55f103e336ca9fb8bf1720d2ef4ee8dd4e221118'
[arvados.git] / sdk / java-v2 / src / main / java / org / arvados / client / config / ExternalConfigProvider.java
1 /*
2  * Copyright (C) The Arvados Authors. All rights reserved.
3  *
4  * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
5  *
6  */
7
8 package org.arvados.client.config;
9
10 import java.io.File;
11
12 public class ExternalConfigProvider implements ConfigProvider {
13
14     private boolean apiHostInsecure;
15     private String keepWebHost;
16     private int keepWebPort;
17     private String apiHost;
18     private int apiPort;
19     private String apiToken;
20     private String apiProtocol;
21     private int fileSplitSize;
22     private File fileSplitDirectory;
23     private int numberOfCopies;
24     private int numberOfRetries;
25
26     ExternalConfigProvider(boolean apiHostInsecure, String keepWebHost, int keepWebPort, String apiHost, int apiPort, String apiToken, String apiProtocol, int fileSplitSize, File fileSplitDirectory, int numberOfCopies, int numberOfRetries) {
27         this.apiHostInsecure = apiHostInsecure;
28         this.keepWebHost = keepWebHost;
29         this.keepWebPort = keepWebPort;
30         this.apiHost = apiHost;
31         this.apiPort = apiPort;
32         this.apiToken = apiToken;
33         this.apiProtocol = apiProtocol;
34         this.fileSplitSize = fileSplitSize;
35         this.fileSplitDirectory = fileSplitDirectory;
36         this.numberOfCopies = numberOfCopies;
37         this.numberOfRetries = numberOfRetries;
38     }
39
40     public static ExternalConfigProviderBuilder builder() {
41         return new ExternalConfigProviderBuilder();
42     }
43
44     @Override
45     public String toString() {
46         return "ExternalConfigProvider{" +
47                 "apiHostInsecure=" + apiHostInsecure +
48                 ", keepWebHost='" + keepWebHost + '\'' +
49                 ", keepWebPort=" + keepWebPort +
50                 ", apiHost='" + apiHost + '\'' +
51                 ", apiPort=" + apiPort +
52                 ", apiToken='" + apiToken + '\'' +
53                 ", apiProtocol='" + apiProtocol + '\'' +
54                 ", fileSplitSize=" + fileSplitSize +
55                 ", fileSplitDirectory=" + fileSplitDirectory +
56                 ", numberOfCopies=" + numberOfCopies +
57                 ", numberOfRetries=" + numberOfRetries +
58                 '}';
59     }
60
61     public boolean isApiHostInsecure() {
62         return this.apiHostInsecure;
63     }
64
65     public String getKeepWebHost() {
66         return this.keepWebHost;
67     }
68
69     public int getKeepWebPort() {
70         return this.keepWebPort;
71     }
72
73     public String getApiHost() {
74         return this.apiHost;
75     }
76
77     public int getApiPort() {
78         return this.apiPort;
79     }
80
81     public String getApiToken() {
82         return this.apiToken;
83     }
84
85     public String getApiProtocol() {
86         return this.apiProtocol;
87     }
88
89     public int getFileSplitSize() {
90         return this.fileSplitSize;
91     }
92
93     public File getFileSplitDirectory() {
94         return this.fileSplitDirectory;
95     }
96
97     public int getNumberOfCopies() {
98         return this.numberOfCopies;
99     }
100
101     public int getNumberOfRetries() {
102         return this.numberOfRetries;
103     }
104
105     public static class ExternalConfigProviderBuilder {
106         private boolean apiHostInsecure;
107         private String keepWebHost;
108         private int keepWebPort;
109         private String apiHost;
110         private int apiPort;
111         private String apiToken;
112         private String apiProtocol;
113         private int fileSplitSize;
114         private File fileSplitDirectory;
115         private int numberOfCopies;
116         private int numberOfRetries;
117
118         ExternalConfigProviderBuilder() {
119         }
120
121         public ExternalConfigProvider.ExternalConfigProviderBuilder apiHostInsecure(boolean apiHostInsecure) {
122             this.apiHostInsecure = apiHostInsecure;
123             return this;
124         }
125
126         public ExternalConfigProvider.ExternalConfigProviderBuilder keepWebHost(String keepWebHost) {
127             this.keepWebHost = keepWebHost;
128             return this;
129         }
130
131         public ExternalConfigProvider.ExternalConfigProviderBuilder keepWebPort(int keepWebPort) {
132             this.keepWebPort = keepWebPort;
133             return this;
134         }
135
136         public ExternalConfigProvider.ExternalConfigProviderBuilder apiHost(String apiHost) {
137             this.apiHost = apiHost;
138             return this;
139         }
140
141         public ExternalConfigProvider.ExternalConfigProviderBuilder apiPort(int apiPort) {
142             this.apiPort = apiPort;
143             return this;
144         }
145
146         public ExternalConfigProvider.ExternalConfigProviderBuilder apiToken(String apiToken) {
147             this.apiToken = apiToken;
148             return this;
149         }
150
151         public ExternalConfigProvider.ExternalConfigProviderBuilder apiProtocol(String apiProtocol) {
152             this.apiProtocol = apiProtocol;
153             return this;
154         }
155
156         public ExternalConfigProvider.ExternalConfigProviderBuilder fileSplitSize(int fileSplitSize) {
157             this.fileSplitSize = fileSplitSize;
158             return this;
159         }
160
161         public ExternalConfigProvider.ExternalConfigProviderBuilder fileSplitDirectory(File fileSplitDirectory) {
162             this.fileSplitDirectory = fileSplitDirectory;
163             return this;
164         }
165
166         public ExternalConfigProvider.ExternalConfigProviderBuilder numberOfCopies(int numberOfCopies) {
167             this.numberOfCopies = numberOfCopies;
168             return this;
169         }
170
171         public ExternalConfigProvider.ExternalConfigProviderBuilder numberOfRetries(int numberOfRetries) {
172             this.numberOfRetries = numberOfRetries;
173             return this;
174         }
175
176         public ExternalConfigProvider build() {
177             return new ExternalConfigProvider(apiHostInsecure, keepWebHost, keepWebPort, apiHost, apiPort, apiToken, apiProtocol, fileSplitSize, fileSplitDirectory, numberOfCopies, numberOfRetries);
178         }
179
180     }
181 }