package org.infinispan.server.memcached.configuration; import org.infinispan.commons.configuration.Builder; import org.infinispan.server.core.configuration.ProtocolServerConfigurationBuilder; /** * MemcachedServerConfigurationBuilder. * * @author Tristan Tarrant * @since 5.3 */ public class MemcachedServerConfigurationBuilder extends ProtocolServerConfigurationBuilder<MemcachedServerConfiguration, MemcachedServerConfigurationBuilder> implements Builder<MemcachedServerConfiguration> { public MemcachedServerConfigurationBuilder() { super(MemcachedServerConfiguration.DEFAULT_MEMCACHED_PORT); this.defaultCacheName(MemcachedServerConfiguration.DEFAULT_MEMCACHED_CACHE); } @Override public MemcachedServerConfigurationBuilder self() { return this; } /** * Use {@link ProtocolServerConfigurationBuilder#defaultCacheName(String)} instead */ @Deprecated public MemcachedServerConfigurationBuilder cache(String cache) { this.defaultCacheName(cache); return this; } @Override public MemcachedServerConfiguration create() { return new MemcachedServerConfiguration(defaultCacheName, name, host, port, idleTimeout, recvBufSize, sendBufSize, ssl.create(), tcpNoDelay, workerThreads, ignoredCaches, startTransport); } public MemcachedServerConfiguration build(boolean validate) { if (validate) { validate(); } return create(); } @Override public MemcachedServerConfiguration build() { return build(true); } @Override public Builder<?> read(MemcachedServerConfiguration template) { super.read(template); return this; } }