
com.vendasta.sales.v1.internal.SalesGeneratedClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sales.v1 Show documentation
Show all versions of sales.v1 Show documentation
Java SDK for service sales
The newest version!
/**
Code generated by sdkgen
Generated on 2020-04-07 19:12:16.797285 +0000 UTC using container gcr.io/repcore-prod/sdkgen:latest
DO NOT EDIT!
*/
package com.vendasta.sales.v1.internal;
import com.google.protobuf.*;
import com.vendasta.vax.Environment;
import com.vendasta.vax.EnvironmentConfig;
import com.vendasta.vax.RequestOptions;
import com.vendasta.vax.SDKException;
import com.vendasta.sales.v1.Config;
import java.io.InputStream;
public class SalesGeneratedClient implements SalesClientInterface {
private SalesClientInterface transport;
public SalesGeneratedClient(Environment environment) {
this(environment, 10000);
}
public SalesGeneratedClient(Environment environment, Options options) {
this.transport = this.getTransportClient(environment, options);
}
public SalesGeneratedClient(Environment environment, float defaultTimeout) {
Options opts = new Options.Builder().setDefaultTimeout(defaultTimeout).build();
this.transport = this.getTransportClient(environment, opts);
}
public SalesGeneratedClient(Environment environment, InputStream serviceAccount, float defaultTimeout) {
Options opts = new Options.Builder().setDefaultTimeout(defaultTimeout).build();
this.transport = this.getTransportClient(environment, serviceAccount, opts);
}
public SalesGeneratedClient(Environment environment, InputStream serviceAccount, Options options) {
this.transport = this.getTransportClient(environment, serviceAccount, options);
}
private SalesClientInterface getTransportClient(Environment environment, Options options) {
EnvironmentConfig config = Config.getEnvironmentConfig(environment);
if (options.getUseHttp()) {
return new SalesHTTPClient(config.getHost(), config.getScope(), config.isSecure(), options.getDefaultTimeout());
}
try {
Class.forName("io.grpc.stub.AbstractStub");
return new SalesGRPCClient(config.getHost(), config.getScope(), config.isSecure(), options.getDefaultTimeout());
} catch (ClassNotFoundException e) {
return new SalesHTTPClient(config.getHost(), config.getScope(), config.isSecure(), options.getDefaultTimeout());
}
}
private SalesClientInterface getTransportClient(Environment environment, InputStream serviceAccount, Options options) {
EnvironmentConfig config = Config.getEnvironmentConfig(environment);
if (options.getUseHttp()) {
return new SalesHTTPClient(config.getHost(), config.getScope(), serviceAccount, config.isSecure(), options.getDefaultTimeout());
}
try {
Class.forName("io.grpc.stub.AbstractStub");
return new SalesGRPCClient(config.getHost(), config.getScope(), serviceAccount, config.isSecure(), options.getDefaultTimeout());
} catch (ClassNotFoundException e) {
return new SalesHTTPClient(config.getHost(), config.getScope(), serviceAccount, config.isSecure(), options.getDefaultTimeout());
}
}
@Override
public GetAutoAssignConfigResponse GetAutoAssignConfig(GetAutoAssignConfigRequest req, RequestOptions.Builder options) throws SDKException {
return this.transport.GetAutoAssignConfig(req, options);
}
@Override
public Empty CreateOrUpdateAutoAssignConfig(CreateOrUpdateAutoAssignConfigRequest req, RequestOptions.Builder options) throws SDKException {
return this.transport.CreateOrUpdateAutoAssignConfig(req, options);
}
@Override
public Salesperson GetSalesperson(GetSalespersonRequest req, RequestOptions.Builder options) throws SDKException {
return this.transport.GetSalesperson(req, options);
}
public static class Options {
private Boolean useHttp = false;
private float defaultTimeout = 10000;
Options(Builder builder) {
if (builder.useHttp != null) {
this.useHttp = builder.useHttp;
}
if (builder.defaultTimeout != null) {
this.defaultTimeout = builder.defaultTimeout;
}
}
Boolean getUseHttp() {
return this.useHttp;
}
Float getDefaultTimeout() {
return this.defaultTimeout;
}
public static class Builder {
private Boolean useHttp;
private Float defaultTimeout;
/**
* Returns a Builder for Options, which is a mutable representation of the object. Once the
* client has built up an object they can then create an immutable Options object using the
* build function.
* @return A fresh Builder instance with no values set
**/
public static Builder newBuilder() {
return new Builder();
}
public Builder useHttp() {
this.useHttp = true;
return this;
}
public Builder setDefaultTimeout(Float defaultTimeout) {
this.defaultTimeout = defaultTimeout;
return this;
}
public Options build() {
return new Options(this);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy