/*
* JBoss, Home of Professional Open Source.
* Copyright 2014 Red Hat, Inc., and individual contributors
* as indicated by the @author tags.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.undertow.server.handlers.proxy.mod_cluster;
import io.undertow.server.handlers.PathHandler;
/**
* Unit test configuration for a node.
*
* @author Emanuel Muckenhuber
*/
class NodeTestConfig implements Cloneable {
private String jvmRoute;
private String domain;
private String type;
private String hostname;
private Integer port;
private Boolean flushPackets;
private Integer flushwait;
private Integer ping;
private Integer smax;
private Integer ttl;
private Integer timeout;
private String BalancerName;
private Boolean stickySession;
private String stickySessionCookie;
private String stickySessionPath;
private Boolean stickySessionRemove;
private Boolean stickySessionForce;
private Integer waitWorker;
private Integer maxattempts;
private NodeTestHandlers testHandlers;
static NodeTestConfig builder() {
return new NodeTestConfig();
}
public String getBalancerName() {
return BalancerName;
}
public NodeTestConfig setBalancerName(String balancerName) {
this.BalancerName = balancerName;
return this;
}
public Boolean getStickySession() {
return stickySession;
}
public NodeTestConfig setStickySession(Boolean stickySession) {
this.stickySession = stickySession;
return this;
}
public String getStickySessionCookie() {
return stickySessionCookie;
}
public NodeTestConfig setStickySessionCookie(String stickySessionCookie) {
this.stickySessionCookie = stickySessionCookie;
return this;
}
public String getStickySessionPath() {
return stickySessionPath;
}
public NodeTestConfig setStickySessionPath(String stickySessionPath) {
this.stickySessionPath = stickySessionPath;
return this;
}
public Boolean getStickySessionRemove() {
return stickySessionRemove;
}
public NodeTestConfig setStickySessionRemove(Boolean stickySessionRemove) {
this.stickySessionRemove = stickySessionRemove;
return this;
}
public Boolean getStickySessionForce() {
return stickySessionForce;
}
public NodeTestConfig setStickySessionForce(Boolean stickySessionForce) {
this.stickySessionForce = stickySessionForce;
return this;
}
public Integer getWaitWorker() {
return waitWorker;
}
public NodeTestConfig setWaitWorker(Integer waitWorker) {
this.waitWorker = waitWorker;
return this;
}
public Integer getMaxattempts() {
return maxattempts;
}
public NodeTestConfig setMaxattempts(Integer maxattempts) {
this.maxattempts = maxattempts;
return this;
}
public String getJvmRoute() {
return jvmRoute;
}
public NodeTestConfig setJvmRoute(String jvmRoute) {
this.jvmRoute = jvmRoute;
return this;
}
public String getDomain() {
return domain;
}
public NodeTestConfig setDomain(String domain) {
this.domain = domain;
return this;
}
public String getType() {
return type;
}
public NodeTestConfig setType(String type) {
this.type = type;
return this;
}
public String getHostname() {
return hostname;
}
public NodeTestConfig setHostname(String hostname) {
this.hostname = hostname;
return this;
}
public Integer getPort() {
return port;
}
public NodeTestConfig setPort(Integer port) {
this.port = port;
return this;
}
public Boolean getFlushPackets() {
return flushPackets;
}
public NodeTestConfig setFlushPackets(Boolean flushPackets) {
this.flushPackets = flushPackets;
return this;
}
public Integer getFlushwait() {
return flushwait;
}
public NodeTestConfig setFlushwait(Integer flushwait) {
this.flushwait = flushwait;
return this;
}
public Integer getPing() {
return ping;
}
public NodeTestConfig setPing(Integer ping) {
this.ping = ping;
return this;
}
public Integer getSmax() {
return smax;
}
public NodeTestConfig setSmax(Integer smax) {
this.smax = smax;
return this;
}
public Integer getTtl() {
return ttl;
}
public NodeTestConfig setTtl(Integer ttl) {
this.ttl = ttl;
return this;
}
public Integer getTimeout() {
return timeout;
}
public NodeTestConfig setTimeout(Integer timeout) {
this.timeout = timeout;
return this;
}
public NodeTestHandlers getTestHandlers() {
return testHandlers;
}
public NodeTestConfig setTestHandlers(NodeTestHandlers testHandlers) {
this.testHandlers = testHandlers;
return this;
}
void setupHandlers(final PathHandler pathHandler) {
if (testHandlers != null) {
testHandlers.setup(pathHandler, this);
}
}
@Override
protected NodeTestConfig clone() {
try {
return (NodeTestConfig) super.clone();
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
}