GremlinConfig.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.spring.data.gremlin.common;
import java.beans.ConstructorProperties;
import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
public final class GremlinConfig {
private String endpoint;
private int port;
private String username;
private String password;
private boolean sslEnabled;
private boolean telemetryAllowed;
private String serializer;
private int maxContentLength;
@ConstructorProperties({"endpoint", "port", "username", "password", "sslEnabled", "telemetryAllowed", "serializer",
"maxContentLength"})
private GremlinConfig(String endpoint, int port, String username, String password, boolean sslEnabled,
boolean telemetryAllowed, String serializer, int maxContentLength) {
this.endpoint = endpoint;
this.port = port;
this.username = username;
this.password = password;
this.sslEnabled = sslEnabled;
this.telemetryAllowed = telemetryAllowed;
this.serializer = serializer;
this.maxContentLength = maxContentLength;
}
public static GremlinConfig.GremlinConfigBuilder defaultBuilder() {
return new GremlinConfig.GremlinConfigBuilder();
}
public static GremlinConfigBuilder builder(String endpoint, String username, String password) {
return defaultBuilder()
.endpoint(endpoint)
.username(username)
.password(password)
.port(Constants.DEFAULT_ENDPOINT_PORT)
.sslEnabled(true)
.serializer(Serializers.GRAPHSON.toString())
.telemetryAllowed(true);
}
public static class GremlinConfigBuilder {
private String endpoint;
private int port;
private String username;
private String password;
private boolean sslEnabled;
private boolean telemetryAllowed;
private String serializer;
private int maxContentLength;
public GremlinConfig.GremlinConfigBuilder endpoint(String endpoint) {
this.endpoint = endpoint;
return this;
}
public GremlinConfig.GremlinConfigBuilder port(int port) {
this.port = port;
return this;
}
public GremlinConfig.GremlinConfigBuilder username(String username) {
this.username = username;
return this;
}
public GremlinConfig.GremlinConfigBuilder password(String password) {
this.password = password;
return this;
}
public GremlinConfig.GremlinConfigBuilder sslEnabled(boolean sslEnabled) {
this.sslEnabled = sslEnabled;
return this;
}
public GremlinConfig.GremlinConfigBuilder telemetryAllowed(boolean telemetryAllowed) {
this.telemetryAllowed = telemetryAllowed;
return this;
}
public GremlinConfig.GremlinConfigBuilder serializer(String serializer) {
this.serializer = serializer;
return this;
}
public GremlinConfig.GremlinConfigBuilder maxContentLength(int maxContentLength) {
this.maxContentLength = maxContentLength;
return this;
}
public GremlinConfig build() {
return new GremlinConfig(this.endpoint, this.port, this.username, this.password, this.sslEnabled,
this.telemetryAllowed, this.serializer, this.maxContentLength);
}
public String toString() {
return "GremlinConfig.GremlinConfigBuilder(endpoint=" + this.endpoint + ", port=" + this.port
+ ", username=" + this.username + ", password=" + this.password + ", sslEnabled=" + this.sslEnabled
+ ", telemetryAllowed=" + this.telemetryAllowed + ", serializer=" + this.serializer
+ ", maxContentLength=" + this.maxContentLength + ")";
}
}
public String getEndpoint() {
return endpoint;
}
public int getPort() {
return port;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public boolean isSslEnabled() {
return sslEnabled;
}
public boolean isTelemetryAllowed() {
return telemetryAllowed;
}
public String getSerializer() {
return serializer;
}
public int getMaxContentLength() {
return maxContentLength;
}
public void setPort(int port) {
this.port = port;
}
public void setMaxContentLength(int maxContentLength) {
this.maxContentLength = maxContentLength;
}
}