2 * Copyright (C) The Arvados Authors. All rights reserved.
4 * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
8 package org.arvados.client.config;
12 public class ExternalConfigProvider implements ConfigProvider {
14 private boolean apiHostInsecure;
15 private String keepWebHost;
16 private int keepWebPort;
17 private String apiHost;
19 private String apiToken;
20 private String apiProtocol;
21 private int fileSplitSize;
22 private File fileSplitDirectory;
23 private int numberOfCopies;
24 private int numberOfRetries;
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;
40 public static ExternalConfigProviderBuilder builder() {
41 return new ExternalConfigProviderBuilder();
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 +
61 public boolean isApiHostInsecure() {
62 return this.apiHostInsecure;
65 public String getKeepWebHost() {
66 return this.keepWebHost;
69 public int getKeepWebPort() {
70 return this.keepWebPort;
73 public String getApiHost() {
77 public int getApiPort() {
81 public String getApiToken() {
85 public String getApiProtocol() {
86 return this.apiProtocol;
89 public int getFileSplitSize() {
90 return this.fileSplitSize;
93 public File getFileSplitDirectory() {
94 return this.fileSplitDirectory;
97 public int getNumberOfCopies() {
98 return this.numberOfCopies;
101 public int getNumberOfRetries() {
102 return this.numberOfRetries;
105 public static class ExternalConfigProviderBuilder {
106 private boolean apiHostInsecure;
107 private String keepWebHost;
108 private int keepWebPort;
109 private String apiHost;
111 private String apiToken;
112 private String apiProtocol;
113 private int fileSplitSize;
114 private File fileSplitDirectory;
115 private int numberOfCopies;
116 private int numberOfRetries;
118 ExternalConfigProviderBuilder() {
121 public ExternalConfigProvider.ExternalConfigProviderBuilder apiHostInsecure(boolean apiHostInsecure) {
122 this.apiHostInsecure = apiHostInsecure;
126 public ExternalConfigProvider.ExternalConfigProviderBuilder keepWebHost(String keepWebHost) {
127 this.keepWebHost = keepWebHost;
131 public ExternalConfigProvider.ExternalConfigProviderBuilder keepWebPort(int keepWebPort) {
132 this.keepWebPort = keepWebPort;
136 public ExternalConfigProvider.ExternalConfigProviderBuilder apiHost(String apiHost) {
137 this.apiHost = apiHost;
141 public ExternalConfigProvider.ExternalConfigProviderBuilder apiPort(int apiPort) {
142 this.apiPort = apiPort;
146 public ExternalConfigProvider.ExternalConfigProviderBuilder apiToken(String apiToken) {
147 this.apiToken = apiToken;
151 public ExternalConfigProvider.ExternalConfigProviderBuilder apiProtocol(String apiProtocol) {
152 this.apiProtocol = apiProtocol;
156 public ExternalConfigProvider.ExternalConfigProviderBuilder fileSplitSize(int fileSplitSize) {
157 this.fileSplitSize = fileSplitSize;
161 public ExternalConfigProvider.ExternalConfigProviderBuilder fileSplitDirectory(File fileSplitDirectory) {
162 this.fileSplitDirectory = fileSplitDirectory;
166 public ExternalConfigProvider.ExternalConfigProviderBuilder numberOfCopies(int numberOfCopies) {
167 this.numberOfCopies = numberOfCopies;
171 public ExternalConfigProvider.ExternalConfigProviderBuilder numberOfRetries(int numberOfRetries) {
172 this.numberOfRetries = numberOfRetries;
176 public ExternalConfigProvider build() {
177 return new ExternalConfigProvider(apiHostInsecure, keepWebHost, keepWebPort, apiHost, apiPort, apiToken, apiProtocol, fileSplitSize, fileSplitDirectory, numberOfCopies, numberOfRetries);