package io.divolte.server.config; import com.fasterxml.jackson.annotation.JsonCreator; import com.google.common.base.MoreObjects; import javax.annotation.ParametersAreNonnullByDefault; import java.util.Objects; import java.util.Optional; @ParametersAreNonnullByDefault public class MapperConfiguration { public final int bufferSize; public final int threads; public final int duplicateMemorySize; public final UserAgentParserConfiguration userAgentParser; public final Optional<String> ip2geoDatabase; @JsonCreator MapperConfiguration(final int bufferSize, final int threads, final int duplicateMemorySize, final UserAgentParserConfiguration userAgentParser, final Optional<String> ip2geoDatabase) { this.bufferSize = bufferSize; this.threads = threads; this.duplicateMemorySize = duplicateMemorySize; this.userAgentParser = Objects.requireNonNull(userAgentParser); this.ip2geoDatabase = Objects.requireNonNull(ip2geoDatabase); } @Override public String toString() { return MoreObjects.toStringHelper(this) .add("bufferSize", bufferSize) .add("threads", threads) .add("duplicateMemorySize", duplicateMemorySize) .add("userAgentParser", userAgentParser) .add("ip2geoDatabase", ip2geoDatabase) .toString(); } }